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


Java IssuerAndSerialNumber类代码示例

本文整理汇总了Java中org.bouncycastle.asn1.cms.IssuerAndSerialNumber的典型用法代码示例。如果您正苦于以下问题:Java IssuerAndSerialNumber类的具体用法?Java IssuerAndSerialNumber怎么用?Java IssuerAndSerialNumber使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: getSenderPublicKeyInfo

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
private SubjectPublicKeyInfo getSenderPublicKeyInfo(AlgorithmIdentifier recKeyAlgId,
    OriginatorIdentifierOrKey originator)
    throws CMSException, IOException
{
    OriginatorPublicKey opk = originator.getOriginatorKey();
    if (opk != null)
    {
        return getPublicKeyInfoFromOriginatorPublicKey(recKeyAlgId, opk);
    }

    OriginatorId origID;

    IssuerAndSerialNumber iAndSN = originator.getIssuerAndSerialNumber();
    if (iAndSN != null)
    {
        origID = new OriginatorId(iAndSN.getName(), iAndSN.getSerialNumber().getValue());
    }
    else
    {
        SubjectKeyIdentifier ski = originator.getSubjectKeyIdentifier();

        origID = new OriginatorId(ski.getKeyIdentifier());
    }

    return getPublicKeyInfoFromOriginatorId(origID);
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:27,代码来源:KeyAgreeRecipientInformation.java

示例2: KeyTransRecipientInformation

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
KeyTransRecipientInformation(
    KeyTransRecipientInfo   info,
    AlgorithmIdentifier     messageAlgorithm,
    CMSSecureReadable       secureReadable,
    AuthAttributesProvider  additionalData)
{
    super(info.getKeyEncryptionAlgorithm(), messageAlgorithm, secureReadable, additionalData);

    this.info = info;

    RecipientIdentifier r = info.getRecipientIdentifier();

    if (r.isTagged())
    {
        ASN1OctetString octs = ASN1OctetString.getInstance(r.getId());

        rid = new KeyTransRecipientId(octs.getOctets());
    }
    else
    {
        IssuerAndSerialNumber   iAnds = IssuerAndSerialNumber.getInstance(r.getId());

        rid = new KeyTransRecipientId(iAnds.getName(), iAnds.getSerialNumber().getValue());
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:26,代码来源:KeyTransRecipientInformation.java

示例3: computeRecipientInfo

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)
    throws GeneralSecurityException, IOException
{
    ASN1InputStream asn1inputstream = 
        new ASN1InputStream(new ByteArrayInputStream(x509certificate.getTBSCertificate()));
    TBSCertificateStructure tbscertificatestructure = 
        TBSCertificateStructure.getInstance(asn1inputstream.readObject());
    AlgorithmIdentifier algorithmidentifier = tbscertificatestructure.getSubjectPublicKeyInfo().getAlgorithm();
    IssuerAndSerialNumber issuerandserialnumber = 
        new IssuerAndSerialNumber(
            tbscertificatestructure.getIssuer(), 
            tbscertificatestructure.getSerialNumber().getValue());
    Cipher cipher = Cipher.getInstance(algorithmidentifier.getAlgorithm().getId());        
    cipher.init(1, x509certificate);
    DEROctetString deroctetstring = new DEROctetString(cipher.doFinal(abyte0));
    RecipientIdentifier recipId = new RecipientIdentifier(issuerandserialnumber);
    return new KeyTransRecipientInfo( recipId, algorithmidentifier, deroctetstring);
}
 
开发者ID:albfernandez,项目名称:itext2,代码行数:19,代码来源:PdfPublicKeySecurityHandler.java

示例4: getEncodedRecipID

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
private static byte[] getEncodedRecipID(IssuerAndSerialNumber recipientID)
    throws CertificateEncodingException
{
    try
    {
        return recipientID.getEncoded(ASN1Encoding.DER);
    }
    catch (final IOException e)
    {
        throw new CertificateEncodingException("Cannot process extracted IssuerAndSerialNumber: " + e.getMessage())
        {
            public Throwable getCause()
            {
                return e;
            }
        };
    }
}
 
开发者ID:thedrummeraki,项目名称:Aki-SSL,代码行数:19,代码来源:JceKTSKeyTransRecipientInfoGenerator.java

示例5: match

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
public boolean match(Object obj)
{
    if (obj instanceof X509CertificateHolder)
    {
        X509CertificateHolder certHldr = (X509CertificateHolder)obj;

        if (this.getSerialNumber() != null)
        {
            IssuerAndSerialNumber iAndS = new IssuerAndSerialNumber(certHldr.toASN1Structure());

            return iAndS.getName().equals(this.issuer)
                && iAndS.getSerialNumber().getValue().equals(this.serialNumber);
        }
        else if (subjectKeyId != null)
        {
            Extension ext = certHldr.getExtension(Extension.subjectKeyIdentifier);

            if (ext == null)
            {
                return Arrays.areEqual(subjectKeyId, MSOutlookKeyIdCalculator.calculateKeyId(certHldr.getSubjectPublicKeyInfo()));
            }

            byte[] subKeyID = ASN1OctetString.getInstance(ext.getParsedValue()).getOctets();

            return Arrays.areEqual(subjectKeyId, subKeyID);
        }
    }
    else if (obj instanceof byte[])
    {
        return Arrays.areEqual(subjectKeyId, (byte[])obj);
    }

    return false;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:35,代码来源:X509CertificateHolderSelector.java

示例6: SignerInformation

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
SignerInformation(
    SignerInfo          info,
    ASN1ObjectIdentifier contentType,
    CMSProcessable      content,
    byte[]              resultDigest)
{
    this.info = info;
    this.contentType = contentType;
    this.isCounterSignature = contentType == null;

    SignerIdentifier   s = info.getSID();

    if (s.isTagged())
    {
        ASN1OctetString octs = ASN1OctetString.getInstance(s.getId());

        sid = new SignerId(octs.getOctets());
    }
    else
    {
        IssuerAndSerialNumber   iAnds = IssuerAndSerialNumber.getInstance(s.getId());

        sid = new SignerId(iAnds.getName(), iAnds.getSerialNumber().getValue());
    }

    this.digestAlgorithm = info.getDigestAlgorithm();
    this.signedAttributeSet = info.getAuthenticatedAttributes();
    this.unsignedAttributeSet = info.getUnauthenticatedAttributes();
    this.encryptionAlgorithm = info.getDigestEncryptionAlgorithm();
    this.signature = info.getEncryptedDigest().getOctets();

    this.content = content;
    this.resultDigest = resultDigest;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:35,代码来源:SignerInformation.java

示例7: readRecipientInfo

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
static void readRecipientInfo(List infos, KeyAgreeRecipientInfo info,
    AlgorithmIdentifier messageAlgorithm, CMSSecureReadable secureReadable, AuthAttributesProvider additionalData)
{
    ASN1Sequence s = info.getRecipientEncryptedKeys();

    for (int i = 0; i < s.size(); ++i)
    {
        RecipientEncryptedKey id = RecipientEncryptedKey.getInstance(
            s.getObjectAt(i));

        RecipientId rid;

        KeyAgreeRecipientIdentifier karid = id.getIdentifier();
        IssuerAndSerialNumber iAndSN = karid.getIssuerAndSerialNumber();

        if (iAndSN != null)
        {
            rid = new KeyAgreeRecipientId(iAndSN.getName(), iAndSN.getSerialNumber().getValue());
        }
        else
        {
            RecipientKeyIdentifier rKeyID = karid.getRKeyID();

            // Note: 'date' and 'other' fields of RecipientKeyIdentifier appear to be only informational

            rid = new KeyAgreeRecipientId(rKeyID.getSubjectKeyIdentifier().getOctets());
        }

        infos.add(new KeyAgreeRecipientInformation(info, rid, id.getEncryptedKey(), messageAlgorithm,
            secureReadable, additionalData));
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:33,代码来源:KeyAgreeRecipientInformation.java

示例8: getIssuerAndSerialNumber

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
static IssuerAndSerialNumber getIssuerAndSerialNumber(X509Certificate cert)
    throws CertificateEncodingException
{
    Certificate certStruct = Certificate.getInstance(cert.getEncoded());

    return new IssuerAndSerialNumber(certStruct.getIssuer(), cert.getSerialNumber());
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:8,代码来源:CMSUtils.java

示例9: build

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
/**
 * Build a generator with the passed in certHolder issuer and serial number as the signerIdentifier.
 *
 * @param contentSigner  operator for generating the final signature in the SignerInfo with.
 * @param certHolder  carrier for the X.509 certificate related to the contentSigner.
 * @return  a SignerInfoGenerator
 * @throws OperatorCreationException   if the generator cannot be built.
 */
public SignerInfoGenerator build(ContentSigner contentSigner, X509CertificateHolder certHolder)
    throws OperatorCreationException
{
    SignerIdentifier sigId = new SignerIdentifier(new IssuerAndSerialNumber(certHolder.toASN1Structure()));

    SignerInfoGenerator sigInfoGen = createGenerator(contentSigner, sigId);

    sigInfoGen.setAssociatedCertificate(certHolder);

    return sigInfoGen;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:20,代码来源:SignerInfoGeneratorBuilder.java

示例10: getPartyVInfoFromRID

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
protected static byte[] getPartyVInfoFromRID(KeyTransRecipientId recipientId)
    throws IOException
{
    if (recipientId.getSerialNumber() != null)
    {
        return new IssuerAndSerialNumber(recipientId.getIssuer(), recipientId.getSerialNumber()).getEncoded(ASN1Encoding.DER);
    }
    else
    {
        return new DEROctetString(recipientId.getSubjectKeyIdentifier()).getEncoded();
    }
}
 
开发者ID:thedrummeraki,项目名称:Aki-SSL,代码行数:13,代码来源:JceKTSKeyTransRecipient.java

示例11: createIssuerAndSerialNumberFor

import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; //导入依赖的package包/类
/**
 * Return a CMS IssuerAndSerialNumber structure for the passed in X.509 certificate.
 * 
 * @param cert the X.509 certificate to get the issuer and serial number for.
 * @return an IssuerAndSerialNumber structure representing the certificate.
 */
public static IssuerAndSerialNumber createIssuerAndSerialNumberFor(
    X509Certificate cert)
    throws CertificateParsingException
{
    try
    {
        return new IssuerAndSerialNumber(PrincipalUtil.getIssuerX509Principal(cert), cert.getSerialNumber());        
    }
    catch (Exception e)
    {
        throw new CertificateParsingException("exception extracting issuer and serial number: " + e);
    }
}
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:20,代码来源:SMIMEUtil.java


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