/** * @deprecated use method taking Extensions */ public CertTemplateBuilder setExtensions(X509Extensions extens) { return setExtensions(Extensions.getInstance(extens)); }
addOptional(v, 0, false, version); addOptional(v, 1, false, serialNumber); addOptional(v, 2, false, signingAlg); addOptional(v, 3, true, issuer); // CHOICE addOptional(v, 4, false, validity); addOptional(v, 5, true, subject); // CHOICE addOptional(v, 6, false, publicKey); addOptional(v, 7, false, issuerUID); addOptional(v, 8, false, subjectUID); addOptional(v, 9, false, extensions);
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
certReqIds[i] = BigInteger.valueOf(i + 1); CertTemplateBuilder certTemplateBuilder = new CertTemplateBuilder(); certTemplateBuilder.setSubject(new X500Name(subject[i])); certTemplateBuilder.setPublicKey(publicKeyInfo[i]); CertRequest certReq = new CertRequest(new ASN1Integer(certReqIds[i]), certTemplateBuilder.build(), null); ProofOfPossessionSigningKeyBuilder popoBuilder = new ProofOfPossessionSigningKeyBuilder(certReq);
certReqIds[i] = BigInteger.valueOf(i + 1); CertTemplateBuilder certTemplateBuilder = new CertTemplateBuilder(); certTemplateBuilder.setSubject(new X500Name(subject[i])); CertRequest certReq = new CertRequest(new ASN1Integer(certReqIds[i]), certTemplateBuilder.build(), null);
certReqIds[i] = BigInteger.valueOf(i + 1); CertTemplateBuilder certTemplateBuilder = new CertTemplateBuilder(); CertId certId = new CertId(issuerGn, oldCertSerialNumbers[i]); Controls controls = new Controls( new AttributeTypeAndValue(CMPObjectIdentifiers.regCtrl_oldCertID, certId)); CertRequest certReq = new CertRequest(new ASN1Integer(certReqIds[i]), certTemplateBuilder.build(), controls);
List<RevDetails> revDetailsArray = new ArrayList<>(requestEntries.size()); for (RevokeCertRequest.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); RevDetails revDetails = new RevDetails(certTempBuilder.build(), exts); revDetailsArray.add(revDetails);
certReqIds[i] = BigInteger.valueOf(i + 1); CertTemplateBuilder certTemplateBuilder = new CertTemplateBuilder(); CertId certId = new CertId(issuerGn, oldCertSerialNumbers[i]); Controls controls = new Controls( new AttributeTypeAndValue(CMPObjectIdentifiers.regCtrl_oldCertID, certId)); CertRequest certReq = new CertRequest(new ASN1Integer(certReqIds[i]), certTemplateBuilder.build(), controls); ProofOfPossessionSigningKeyBuilder popoBuilder = new ProofOfPossessionSigningKeyBuilder(certReq);
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); }
/** * @deprecated use method taking Extensions * @param extens * @return */ public CertTemplateBuilder setExtensions(X509Extensions extens) { return setExtensions(Extensions.getInstance(extens)); }
addOptional(v, 0, false, version); addOptional(v, 1, false, serialNumber); addOptional(v, 2, false, signingAlg); addOptional(v, 3, true, issuer); // CHOICE addOptional(v, 4, false, validity); addOptional(v, 5, true, subject); // CHOICE addOptional(v, 6, false, publicKey); addOptional(v, 7, false, issuerUID); addOptional(v, 8, false, subjectUID); addOptional(v, 9, false, extensions);