public static RevReqContent getInstance(Object o) { if (o instanceof RevReqContent) { return (RevReqContent)o; } if (o != null) { return new RevReqContent(ASN1Sequence.getInstance(o)); } return null; }
boolean allRevdetailsOfSameType = true; RevReqContent rr = RevReqContent.getInstance(reqBody.getContent()); RevDetails[] revContent = rr.toRevDetailsArray();
return KeyRecRepContent.getInstance(o); case TYPE_REVOCATION_REQ: return RevReqContent.getInstance(o); case TYPE_REVOCATION_REP: return RevRepContent.getInstance(o);
private PKIBody unRevokeRemoveCertificates(PKIMessage request, RevReqContent rr, int permission, CmpControl cmpControl, String msgId, AuditEvent event) { RevDetails[] revContent = rr.toRevDetailsArray();
return KeyRecRepContent.getInstance(o); case TYPE_REVOCATION_REQ: return RevReqContent.getInstance(o); case TYPE_REVOCATION_REP: return RevRepContent.getInstance(o);
public static RevReqContent getInstance(Object o) { if (o instanceof RevReqContent) { return (RevReqContent)o; } if (o != null) { return new RevReqContent(ASN1Sequence.getInstance(o)); } return null; }
private PKIMessage buildUnrevokeOrRemoveCertRequest(UnrevokeOrRemoveCertRequest request, int reasonCode) throws CmpClientException { PKIHeader header = buildPkiHeader(null); List<UnrevokeOrRemoveCertRequest.Entry> requestEntries = request.getRequestEntries(); List<RevDetails> revDetailsArray = new ArrayList<>(requestEntries.size()); for (UnrevokeOrRemoveCertRequest.Entry requestEntry : requestEntries) { CertTemplateBuilder certTempBuilder = new CertTemplateBuilder(); certTempBuilder.setIssuer(requestEntry.getIssuer()); certTempBuilder.setSerialNumber(new ASN1Integer(requestEntry.getSerialNumber())); byte[] aki = requestEntry.getAuthorityKeyIdentifier(); if (aki != null) { Extensions certTempExts = getCertTempExtensions(aki); certTempBuilder.setExtensions(certTempExts); } Extension[] extensions = new Extension[1]; try { ASN1Enumerated reason = new ASN1Enumerated(reasonCode); extensions[0] = new Extension(Extension.reasonCode, true, new DEROctetString(reason.getEncoded())); } catch (IOException ex) { throw new CmpClientException(ex.getMessage(), ex); } Extensions exts = new Extensions(extensions); RevDetails revDetails = new RevDetails(certTempBuilder.build(), exts); revDetailsArray.add(revDetails); } RevReqContent content = new RevReqContent(revDetailsArray.toArray(new RevDetails[0])); PKIBody body = new PKIBody(PKIBody.TYPE_REVOCATION_REQ, content); return new PKIMessage(header, body); } // method buildUnrevokeOrRemoveCertRequest
RevReqContent content = new RevReqContent(revDetailsArray.toArray(new RevDetails[0])); PKIBody body = new PKIBody(PKIBody.TYPE_REVOCATION_REQ, content); return new PKIMessage(header, body);
public boolean revokeCert(BigInteger serialNumber, CRLReason reason) throws Exception { ProtectedPKIMessageBuilder builder = new ProtectedPKIMessageBuilder( PKIHeader.CMP_2000, requestorSubject, responderSubject); builder.setMessageTime(new Date()); builder.setTransactionID(randomTransactionId()); builder.setSenderNonce(randomSenderNonce()); CertTemplateBuilder certTempBuilder = new CertTemplateBuilder(); certTempBuilder.setIssuer(caSubject); certTempBuilder.setSerialNumber(new ASN1Integer(serialNumber)); AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(caSubjectKeyIdentifier); byte[] encodedAki = aki.getEncoded(); Extension extAki = new Extension(Extension.authorityKeyIdentifier, false, encodedAki); Extensions certTempExts = new Extensions(extAki); certTempBuilder.setExtensions(certTempExts); ASN1Enumerated asn1Reason = new ASN1Enumerated(reason.getValue().intValue()); Extensions exts = new Extensions( new Extension(Extension.reasonCode, true, new DEROctetString(asn1Reason.getEncoded()))); RevDetails revDetails = new RevDetails(certTempBuilder.build(), exts); RevReqContent content = new RevReqContent(revDetails); builder.setBody(new PKIBody(PKIBody.TYPE_REVOCATION_REQ, content)); ProtectedPKIMessage request = build(builder); PKIMessage response = transmit(request, null); return parseRevocationResult(response, serialNumber); }