Java 类org.bouncycastle.asn1.x509.CRLNumber 实例源码

项目:keystore-explorer    文件:X509Ext.java   
private String getDeltaCrlIndicatorStringValue(byte[] value) throws IOException {
    // @formatter:off

    /*
     * deltaCRLIndicator EXTENSION ::= { SYNTAX BaseCRLNumber IDENTIFIED BY
     * id-ce-deltaCRLIndicator }
     *
     * BaseCRLNumber ::= CRLNumber
     *
     * CRLNumber ::= ASN1Integer (0..MAX)
     */

    // @formatter:on

    CRLNumber crlNumber = CRLNumber.getInstance(value);
    BigInteger crlNum = crlNumber.getCRLNumber();

    return HexUtil.getHexString(crlNum) + NEWLINE;
}
项目:CryptMeme    文件:TestUtils.java   
public static X509CRL createCRL(
    X509Certificate caCert, 
    PrivateKey      caKey, 
    BigInteger      serialNumber)
    throws Exception
{
    X509V2CRLGenerator   crlGen = new X509V2CRLGenerator();
    Date                 now = new Date();
    BigInteger           revokedSerialNumber = BigInteger.valueOf(2);

    crlGen.setIssuerDN(PrincipalUtil.getSubjectX509Principal(caCert));

    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(new Date(now.getTime() + 100000));
    crlGen.setSignatureAlgorithm("SHA256WithRSAEncryption");

    crlGen.addCRLEntry(serialNumber, now, CRLReason.privilegeWithdrawn);

    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCert));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(1)));

    return crlGen.generate(caKey, "BC");
}
项目:irma_future_id    文件:TestUtils.java   
public static X509CRL createCRL(
    X509Certificate caCert, 
    PrivateKey      caKey, 
    BigInteger      serialNumber)
    throws Exception
{
    X509V2CRLGenerator   crlGen = new X509V2CRLGenerator();
    Date                 now = new Date();
    BigInteger           revokedSerialNumber = BigInteger.valueOf(2);

    crlGen.setIssuerDN(PrincipalUtil.getSubjectX509Principal(caCert));

    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(new Date(now.getTime() + 100000));
    crlGen.setSignatureAlgorithm("SHA256WithRSAEncryption");

    crlGen.addCRLEntry(serialNumber, now, CRLReason.privilegeWithdrawn);

    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCert));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(1)));

    return crlGen.generate(caKey, "BC");
}
项目:bc-java    文件:TestUtils.java   
public static X509CRL createCRL(
    X509Certificate caCert, 
    PrivateKey      caKey, 
    BigInteger      serialNumber)
    throws Exception
{
    X509V2CRLGenerator   crlGen = new X509V2CRLGenerator();
    Date                 now = new Date();
    BigInteger           revokedSerialNumber = BigInteger.valueOf(2);

    crlGen.setIssuerDN(PrincipalUtil.getSubjectX509Principal(caCert));

    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(new Date(now.getTime() + 100000));
    crlGen.setSignatureAlgorithm("SHA256WithRSAEncryption");

    crlGen.addCRLEntry(serialNumber, now, CRLReason.privilegeWithdrawn);

    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCert));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(1)));

    return crlGen.generate(caKey, "BC");
}
项目:cagrid-core    文件:CertUtil.java   
public static X509CRL createCRL(String provider, X509Certificate caCert, PrivateKey caKey, CRLEntry[] entries,
    Date expires, String signatureAlgorithm) throws Exception {
    X509V2CRLGenerator crlGen = new X509V2CRLGenerator();
    Date now = new Date();
    crlGen.setIssuerDN(new X509Name(caCert.getSubjectDN().getName()));
    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(expires);
    crlGen.setSignatureAlgorithm(signatureAlgorithm);
    for (int i = 0; i < entries.length; i++) {
        crlGen.addCRLEntry(entries[i].getCertificateSerialNumber(), now, entries[i].getReason());
    }
    SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence) new DERInputStream(
        new ByteArrayInputStream(caCert.getPublicKey().getEncoded())).readObject());
    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifier(apki));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(System
        .currentTimeMillis())));
    return crlGen.generateX509CRL(caKey, provider);
}
项目:cagrid2    文件:CertUtil.java   
public static X509CRL createCRL(String provider, X509Certificate caCert, PrivateKey caKey, CRLEntry[] entries,
    Date expires, String signatureAlgorithm) throws Exception {
    X509V2CRLGenerator crlGen = new X509V2CRLGenerator();
    Date now = new Date();
    crlGen.setIssuerDN(new X509Name(caCert.getSubjectDN().getName()));
    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(expires);
    crlGen.setSignatureAlgorithm(signatureAlgorithm);
    for (int i = 0; i < entries.length; i++) {
        crlGen.addCRLEntry(entries[i].getCertificateSerialNumber(), now, entries[i].getReason());
    }
    SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence) new DERInputStream(
        new ByteArrayInputStream(caCert.getPublicKey().getEncoded())).readObject());
    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifier(apki));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(System
        .currentTimeMillis())));
    return crlGen.generateX509CRL(caKey, provider);
}
项目:cert-services    文件:CRLService.java   
@SuppressWarnings("deprecation")
public X509CRL generateCRL(String caName) {
    try {       
        CertificateAuthority ca = this.caRepository.findOneByName(caName);

        if(ca == null) {
            throw new RuntimeException("Error getting CRL for non existing CA: " + caName);
        }

        Date now = new Date();
        Date nextUpdate = new Date(now.getYear(), now.getMonth(), now.getDate(), now.getHours() + 3, now.getMinutes());

        X509V2CRLGenerator crlGenerator = new X509V2CRLGenerator();
        String caDN = getCADN(ca);

        crlGenerator.setIssuerDN(new X500Principal(caDN));
        crlGenerator.setThisUpdate(now);
        crlGenerator.setNextUpdate(nextUpdate);
        crlGenerator.setSignatureAlgorithm("SHA256withRSA");

        X509Certificate caCertificate = new JcaX509CertificateConverter().getCertificate(ca.getIdentityContainer().getCertificate());

        crlGenerator.addExtension(Extension.authorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCertificate));
        crlGenerator.addExtension(Extension.cRLNumber, false, new CRLNumber(BigInteger.ONE));

        X509CRL crl = crlGenerator.generateX509CRL(ca.getIdentityContainer().getPrivateKey(), BouncyCastleProvider.PROVIDER_NAME);

        return crl;
    } catch (Exception e) {
        throw new RuntimeException("Error while generating CRL: " + e.getMessage(), e);
    }
}
项目:eid-applet    文件:PkiTestUtils.java   
public static X509CRL generateCrl(X509Certificate issuer, PrivateKey issuerPrivateKey) throws InvalidKeyException,
        CRLException, IllegalStateException, NoSuchAlgorithmException, SignatureException {
    X509V2CRLGenerator crlGenerator = new X509V2CRLGenerator();
    crlGenerator.setIssuerDN(issuer.getSubjectX500Principal());
    Date now = new Date();
    crlGenerator.setThisUpdate(now);
    crlGenerator.setNextUpdate(new Date(now.getTime() + 100000));
    crlGenerator.setSignatureAlgorithm("SHA1withRSA");
    crlGenerator.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(new BigInteger("1234")));
    X509CRL x509Crl = crlGenerator.generate(issuerPrivateKey);
    return x509Crl;
}
项目:eid-applet    文件:PkiTestUtils.java   
public static X509CRL generateCrl(X509Certificate issuer, PrivateKey issuerPrivateKey) throws InvalidKeyException,
        CRLException, IllegalStateException, NoSuchAlgorithmException, SignatureException {
    X509V2CRLGenerator crlGenerator = new X509V2CRLGenerator();
    crlGenerator.setIssuerDN(issuer.getSubjectX500Principal());
    Date now = new Date();
    crlGenerator.setThisUpdate(now);
    crlGenerator.setNextUpdate(new Date(now.getTime() + 100000));
    crlGenerator.setSignatureAlgorithm("SHA1withRSA");
    crlGenerator.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(new BigInteger("1234")));
    X509CRL x509Crl = crlGenerator.generate(issuerPrivateKey);
    return x509Crl;
}
项目:keystore-explorer    文件:X509Ext.java   
private String getCrlNumberStringValue(byte[] value) throws IOException {
    // @formatter:off
    /* CRLNumber ::= ASN1Integer (0..MAX) */
    // @formatter:on

    StringBuilder sb = new StringBuilder();

    CRLNumber crlNumber = CRLNumber.getInstance(value);

    sb.append(HexUtil.getHexString(crlNumber.getCRLNumber()));
    sb.append(NEWLINE);

    return sb.toString();
}
项目:xades4j    文件:CrlExtensionsUtils.java   
public static BigInteger getCrlNumber(X509CRL crl) throws IOException
{
    byte[] crlNumEnc = crl.getExtensionValue(X509Extension.cRLNumber.getId());
    BigInteger crlNum = null;
    // XAdES 7.4.2: "The 'number' element is an optional hint ..."
    if (crlNumEnc != null)
    {
        ASN1Object derCrlNum = X509ExtensionUtil.fromExtensionValue(crlNumEnc);
        crlNum = CRLNumber.getInstance(derCrlNum).getCRLNumber();
    }
    return crlNum;
}
项目:cagrid2    文件:CertUtil.java   
public static X509CRL createCRL(String provider, X509Certificate caCert, PrivateKey caKey, CRLEntry[] entries, Date expires, String signatureAlgorithm) throws Exception {
    X509V2CRLGenerator crlGen = new X509V2CRLGenerator();
    Date now = new Date();
    crlGen.setIssuerDN(new X509Name(caCert.getSubjectDN().getName()));
    crlGen.setThisUpdate(now);
    crlGen.setNextUpdate(expires);
    crlGen.setSignatureAlgorithm(signatureAlgorithm);
    for (int i = 0; i < entries.length; i++) {
        crlGen.addCRLEntry(entries[i].getCertificateSerialNumber(), now, entries[i].getReason());
    }
    SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence) new ASN1InputStream(new ByteArrayInputStream(caCert.getPublicKey().getEncoded())).readObject());
    crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifier(apki));
    crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(System.currentTimeMillis())));
    return crlGen.generateX509CRL(caKey, provider);
}
项目:certmgr    文件:X509CRLHelper.java   
/**
 * Generate a CRL object.
 *
 * @param currentCRL The current CRL object in case of an update (may be {@code null}).
 * @param lastUpdate The last update timestamp to set.
 * @param nextUpdate The next update timestamp to set (may be {@code null}).
 * @param revokeEntries The revoked entries.
 * @param issuerDN The CRL issuer's DN.
 * @param issuerKey The CRL issuer's key pair.
 * @param signatureAlgorithm The signature algorithm to use for signing.
 * @return The generated CRL object.
 * @throws IOException if an error occurs during generation.
 */
public static X509CRL generateCRL(@Nullable X509CRL currentCRL, Date lastUpdate, @Nullable Date nextUpdate,
        Map<BigInteger, ReasonFlag> revokeEntries, X500Principal issuerDN, KeyPair issuerKey,
        SignatureAlgorithm signatureAlgorithm) throws IOException {
    LOG.info("CRL generation ''{0}'' started...", issuerDN);

    // Initialize CRL builder
    JcaX509v2CRLBuilder crlBuilder = new JcaX509v2CRLBuilder(issuerDN, lastUpdate);

    if (nextUpdate != null) {
        crlBuilder.setNextUpdate(nextUpdate);
    }

    for (Map.Entry<BigInteger, ReasonFlag> revokeEntry : revokeEntries.entrySet()) {
        crlBuilder.addCRLEntry(revokeEntry.getKey(), lastUpdate, revokeEntry.getValue().value());
    }

    X509CRL crl;

    try {
        // Add extensions
        JcaX509ExtensionUtils extensionUtils = new JcaX509ExtensionUtils();

        crlBuilder.addExtension(Extension.authorityKeyIdentifier, false,
                extensionUtils.createAuthorityKeyIdentifier(issuerKey.getPublic()));

        BigInteger nextCRLNumber = getNextCRLNumber(currentCRL);

        crlBuilder.addExtension(Extension.cRLNumber, false, new CRLNumber(nextCRLNumber));

        // Sign and create CRL object
        ContentSigner crlSigner = new JcaContentSignerBuilder(signatureAlgorithm.algorithm())
                .build(issuerKey.getPrivate());

        crl = new JcaX509CRLConverter().getCRL(crlBuilder.build(crlSigner));
    } catch (GeneralSecurityException | OperatorCreationException e) {
        throw new CertProviderException(e);
    }

    LOG.info("CRT generation ''{0}'' done", issuerDN);

    return crl;
}