📄 cainterfacebean.java
字号:
public void changeCertificateProfile(String name, CertificateProfile profile) throws Exception { certificateprofiles.changeCertificateProfile(name, profile); } /** Returns false if certificate type is used by any user or in profiles. */ public boolean removeCertificateProfile(String name) throws Exception{ boolean certificateprofileused = false; int certificateprofileid = certificatesession.getCertificateProfileId(administrator, name); CertificateProfile certprofile = this.certificatesession.getCertificateProfile(administrator, name); if(certprofile.getType() == CertificateProfile.TYPE_ENDENTITY){ // Check if any users or profiles use the certificate id. certificateprofileused = adminsession.checkForCertificateProfileId(administrator, certificateprofileid) || raadminsession.existsCertificateProfileInEndEntityProfiles(administrator, certificateprofileid) || hardtokensession.existsCertificateProfileInHardTokenProfiles(administrator, certificateprofileid); }else{ certificateprofileused = caadminsession.exitsCertificateProfileInCAs(administrator, certificateprofileid); } if(!certificateprofileused){ certificateprofiles.removeCertificateProfile(name); } return !certificateprofileused; } public void renameCertificateProfile(String oldname, String newname) throws Exception{ certificateprofiles.renameCertificateProfile(oldname, newname); } public void cloneCertificateProfile(String originalname, String newname) throws Exception{ certificateprofiles.cloneCertificateProfile(originalname, newname); } public void createCRL(String issuerdn) throws RemoteException, NamingException, CreateException { InitialContext jndicontext = new InitialContext(); ICreateCRLSessionHome home = (ICreateCRLSessionHome)javax.rmi.PortableRemoteObject.narrow( jndicontext.lookup("CreateCRLSession") , ICreateCRLSessionHome.class ); home.create().run(administrator, issuerdn); } public int getLastCRLNumber(String issuerdn) { return certificatesession.getLastCRLNumber(administrator, issuerdn); } public CRLInfo getLastCRLInfo(String issuerdn) { return certificatesession.getLastCRLInfo(administrator, issuerdn); } /* Returns certificateprofiles as a CertificateProfiles object */ public CertificateProfileDataHandler getCertificateProfileDataHandler(){ return certificateprofiles; } public HashMap getAvailablePublishers() { return publishersession.getPublisherIdToNameMap(administrator); } public PublisherDataHandler getPublisherDataHandler() { return this.publisherdatahandler; } public CADataHandler getCADataHandler(){ return cadatahandler; } public CAInfoView getCAInfo(String name) throws Exception{ return cadatahandler.getCAInfo(name); } public CAInfoView getCAInfo(int caid) throws Exception{ return cadatahandler.getCAInfo(caid); } public void saveRequestInfo(CAInfo cainfo){ this.cainfo = cainfo; } public CAInfo getRequestInfo(){ return this.cainfo; } public void savePKCS10RequestData(ExtendedPKCS10CertificationRequest request){ this.request = request; } public ExtendedPKCS10CertificationRequest getPKCS10RequestData(){ return this.request; } public String getPKCS10RequestDataAsString() throws Exception{ String returnval = null; if(request != null ){ ByteArrayOutputStream bOut = new ByteArrayOutputStream(); DEROutputStream dOut = new DEROutputStream(bOut); dOut.writeObject(request); dOut.close(); returnval = RequestHelper.BEGIN_CERTIFICATE_REQUEST_WITH_NL + new String(Base64.encode(bOut.toByteArray())) + RequestHelper.END_CERTIFICATE_REQUEST_WITH_NL; } return returnval; } public void saveProcessedCertificate(Certificate cert){ this.processedcert =cert; } public Certificate getProcessedCertificate(){ return this.processedcert; } public String getProcessedCertificateAsString() throws Exception{ String returnval = null; if(request != null ){ byte[] b64cert = se.anatom.ejbca.util.Base64.encode(this.processedcert.getEncoded()); returnval = RequestHelper.BEGIN_CERTIFICATE_WITH_NL; returnval += new String(b64cert); returnval += RequestHelper.END_CERTIFICATE_WITH_NL; } return returnval; } public String republish(CertificateView certificatedata){ String returnval = "CERTREPUBLISHFAILED"; CertReqHistory certreqhist = certificatesession.getCertReqHistory(administrator,certificatedata.getSerialNumberBigInt(), certificatedata.getIssuerDN()); if(certreqhist != null){ CertificateProfile certprofile = certificatesession.getCertificateProfile(administrator,certreqhist.getUserDataVO().getCertificateProfileId()); if(certprofile != null){ CertificateInfo certinfo = certificatesession.getCertificateInfo(administrator, CertTools.getFingerprintAsString(certificatedata.getCertificate())); if(certprofile.getPublisherList().size() > 0){ if(publishersession.storeCertificate(administrator, certprofile.getPublisherList(), certificatedata.getCertificate(), certreqhist.getUserDataVO().getUsername(), certreqhist.getUserDataVO().getPassword(), certinfo.getCAFingerprint(), certinfo.getStatus() , certinfo.getType(), certreqhist.getUserDataVO().getExtendedinformation())){ returnval = "CERTREPUBLISHEDSUCCESS"; } }else{ returnval = "NOPUBLISHERSDEFINED"; } }else{ returnval = "CERTPROFILENOTFOUND"; } } return returnval; } /** Class used to sort CertReq History by users modfifytime, with latest first*/ private class CertReqUserCreateComparator implements Comparator{ public int compare(Object arg0, Object arg1) { return 0 - (((CertReqHistory) arg0).getUserDataVO().getTimeModified().compareTo( ((CertReqHistory) arg1).getUserDataVO().getTimeModified())); } } /** * Returns a List of CertReqHistUserData from the certreqhist database in an collection sorted by timestamp. * */ public List getCertReqUserDatas(String username){ List history = this.certificatesession.getCertReqHistory(administrator, username); // Sort it by timestamp, newest first; Collections.sort(history, new CertReqUserCreateComparator()); return history; } // Private methods // Private fields private ICertificateStoreSessionLocal certificatesession; private ICAAdminSessionLocal caadminsession; private IAuthorizationSessionLocal authorizationsession; private IUserAdminSessionLocal adminsession; private IRaAdminSessionLocal raadminsession; private ISignSessionLocal signsession; private IHardTokenSessionLocal hardtokensession; private IPublisherSessionLocal publishersession; private CertificateProfileDataHandler certificateprofiles; private CADataHandler cadatahandler; private PublisherDataHandler publisherdatahandler; private boolean initialized; private Admin administrator; private InformationMemory informationmemory; private CAInfo cainfo; private ExtendedPKCS10CertificationRequest request; private Certificate processedcert; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -