当前位置: 首页>>代码示例>>Java>>正文


Java X509AttributeCertificate.getHolder方法代码示例

本文整理汇总了Java中org.bouncycastle.x509.X509AttributeCertificate.getHolder方法的典型用法代码示例。如果您正苦于以下问题:Java X509AttributeCertificate.getHolder方法的具体用法?Java X509AttributeCertificate.getHolder怎么用?Java X509AttributeCertificate.getHolder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.bouncycastle.x509.X509AttributeCertificate的用法示例。


在下文中一共展示了X509AttributeCertificate.getHolder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testCertWithBaseCertificateID

import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类
private void testCertWithBaseCertificateID()
    throws Exception
{
    X509AttributeCertificate attrCert = new X509V2AttributeCertificate(certWithBaseCertificateID);
    CertificateFactory       fact = CertificateFactory.getInstance("X.509", "BC");   
    X509Certificate          cert = (X509Certificate)fact.generateCertificate(new ByteArrayInputStream(holderCertWithBaseCertificateID));
    
    AttributeCertificateHolder holder = attrCert.getHolder();
    
    if (holder.getEntityNames() != null)
    {
        fail("entity names set when none expected");
    }
    
    if (!holder.getSerialNumber().equals(cert.getSerialNumber()))
    {
        fail("holder serial number doesn't match");
    }

    if (!holder.getIssuer()[0].equals(cert.getIssuerX500Principal()))
    {
        fail("holder issuer doesn't match");
    }
    
    if (!holder.match(cert))
    {
        fail("holder not matching holder certificate");
    }

    if (!holder.equals(holder.clone()))
    {
        fail("holder clone test failed");
    }

    if (!attrCert.getIssuer().equals(attrCert.getIssuer().clone()))
    {
        fail("issuer clone test failed");
    }
    
    //equalityAndHashCodeTest(attrCert, certWithBaseCertificateID);
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:42,代码来源:AttrCertTest.java

示例2: testGenerateWithPrincipal

import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类
private void testGenerateWithPrincipal()
    throws Exception
{
    CertificateFactory          fact = CertificateFactory.getInstance("X.509","BC");
    X509Certificate             iCert = (X509Certificate)fact.generateCertificate(new ByteArrayInputStream(signCert));
    
    //
    // a sample key pair.
    //
    RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(
        new BigInteger("b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7", 16),
        new BigInteger("11", 16));

    //
    // set up the keys
    //
    PrivateKey          privKey;
    PublicKey           pubKey;

    KeyFactory  kFact = KeyFactory.getInstance("RSA", "BC");

    privKey = kFact.generatePrivate(RSA_PRIVATE_KEY_SPEC);
    pubKey = kFact.generatePublic(pubKeySpec);
    
    X509V2AttributeCertificateGenerator gen = new X509V2AttributeCertificateGenerator();
    
    // the actual attributes
    GeneralName roleName = new GeneralName(GeneralName.rfc822Name, "DAU123456789");
    ASN1EncodableVector roleSyntax = new ASN1EncodableVector();
    roleSyntax.add(roleName);

    // roleSyntax OID: 2.5.24.72
    X509Attribute attributes = new X509Attribute("2.5.24.72",
            new DERSequence(roleSyntax));

    gen.addAttribute(attributes);
    gen.setHolder(new AttributeCertificateHolder(iCert.getSubjectX500Principal()));
    gen.setIssuer(new AttributeCertificateIssuer(new X509Principal("cn=test")));
    gen.setNotBefore(new Date(System.currentTimeMillis() - 50000));
    gen.setNotAfter(new Date(System.currentTimeMillis() + 50000));
    gen.setSerialNumber(BigInteger.ONE);
    gen.setSignatureAlgorithm("SHA1WithRSAEncryption");
    
    X509AttributeCertificate aCert = gen.generate(privKey, "BC");
    
    aCert.checkValidity();
    
    aCert.verify(pubKey, "BC");
    
    AttributeCertificateHolder holder = aCert.getHolder();
    
    if (holder.getEntityNames() == null)
    {
        fail("entity names not set when expected");
    }
    
    if (holder.getSerialNumber() != null)
    {
        fail("holder serial number found when none expected");
    }

    if (holder.getIssuer() != null)
    {
        fail("holder issuer found when none expected");
    }
    
    if (!holder.match(iCert))
    {
        fail("generated holder not matching holder certificate");
    }
    
    X509Certificate             sCert = (X509Certificate)fact.generateCertificate(new ByteArrayInputStream(holderCertWithBaseCertificateID));
    
    if (holder.match(sCert))
    {
        fail("principal generated holder matching wrong certificate");
    }

    equalityAndHashCodeTest(aCert, aCert.getEncoded());
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:81,代码来源:AttrCertTest.java


注:本文中的org.bouncycastle.x509.X509AttributeCertificate.getHolder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。