private void initSigners() throws CaMgmtException { if (signerInitialized) { return; } signerDbEntries.clear(); signers.clear(); List<String> names = queryExecutor.namesFromTable("SIGNER"); for (String name : names) { MgmtEntry.Signer entry = queryExecutor.createSigner(name); if (entry == null) { LOG.error("could not initialize signer '{}'", name); continue; } entry.setConfFaulty(true); signerDbEntries.put(name, entry); SignerEntryWrapper signer = createSigner(entry); if (signer != null) { entry.setConfFaulty(false); signers.put(name, signer); LOG.info("loaded signer {}", name); } else { LOG.error("could not load signer {}", name); } } signerInitialized = true; } // method initResponders
public void initSigner(SecurityFactory securityFactory) throws ObjectCreationException { Args.notNull(securityFactory, "securityFactory"); if (signer != null) { return; } if (dbEntry == null) { throw new ObjectCreationException("dbEntry is null"); } X509Certificate responderCert = dbEntry.getCertificate(); dbEntry.setConfFaulty(true); signer = securityFactory.createSigner(dbEntry.getType(), new SignerConf(dbEntry.getConf()), responderCert); if (signer.getCertificate() == null) { throw new ObjectCreationException("signer without certificate is not allowed"); } dbEntry.setConfFaulty(false); if (dbEntry.getBase64Cert() == null) { dbEntry.setCertificate(signer.getCertificate()); subjectAsX500Name = X500Name.getInstance(signer.getBcCertificate().getSubject()); subjectAsGeneralName = new GeneralName(subjectAsX500Name); } } // method initSigner
public MgmtEntry.Signer toSignerEntry() { String base64Cert = null; if (encodedCert != null) { base64Cert = Base64.encodeToString(encodedCert); } MgmtEntry.Signer ret = new MgmtEntry.Signer(name, type, conf, base64Cert); ret.setConfFaulty(faulty); return ret; } }