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


Java BcDigestCalculatorProvider.get方法代码示例

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


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

示例1: generateOcspRequest

import org.bouncycastle.operator.bc.BcDigestCalculatorProvider; //导入方法依赖的package包/类
private OCSPReq generateOcspRequest(X509Certificate issuerCert,
		BigInteger serialNumber) throws OCSPException, CertificateEncodingException, OperatorCreationException, IOException {

	BcDigestCalculatorProvider util = new BcDigestCalculatorProvider();
	
	// Generate the id for the certificate we are looking for
	CertificateID id = new CertificateID(util.get(  CertificateID.HASH_SHA1),
			new X509CertificateHolder(issuerCert.getEncoded()), serialNumber);
	OCSPReqBuilder ocspGen = new OCSPReqBuilder();
       
       ocspGen.addRequest(id);

	BigInteger nonce = BigInteger.valueOf(System.currentTimeMillis());
	Extension ext = new Extension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce, true, new DEROctetString(nonce.toByteArray()));
       ocspGen.setRequestExtensions(new Extensions(new Extension[] { ext }));

       return ocspGen.build();
}
 
开发者ID:TremoloSecurity,项目名称:OpenUnison,代码行数:19,代码来源:OCSP.java

示例2: testGenerateWithMetadata

import org.bouncycastle.operator.bc.BcDigestCalculatorProvider; //导入方法依赖的package包/类
public void testGenerateWithMetadata()
    throws Exception
{
    cmsTimeStampedDataGenerator.setMetaData(true, fileInput, "TXT");

    BcDigestCalculatorProvider calculatorProvider = new BcDigestCalculatorProvider();
    String algOID = "2.16.840.1.101.3.4.2.1"; // SHA-256
    DigestCalculator hashCalculator = calculatorProvider.get(new AlgorithmIdentifier(algOID));

    cmsTimeStampedDataGenerator.initialiseMessageImprintDigestCalculator(hashCalculator);

    hashCalculator.getOutputStream().write(baseData);
    hashCalculator.getOutputStream().close();

    TimeStampToken timeStampToken = createTimeStampToken(hashCalculator.getDigest(), NISTObjectIdentifiers.id_sha256);
    CMSTimeStampedData cmsTimeStampedData = cmsTimeStampedDataGenerator.generate(timeStampToken, baseData);

    for (int i = 0; i < 3; i++)
    {
        byte[] newRequestData = cmsTimeStampedData.calculateNextHash(hashCalculator);
        TimeStampToken newTimeStampToken = createTimeStampToken(newRequestData, NISTObjectIdentifiers.id_sha256);
        cmsTimeStampedData = cmsTimeStampedData.addTimeStamp(newTimeStampToken);
    }
    byte[] timeStampedData = cmsTimeStampedData.getEncoded();

    metadataCheck(timeStampedData);
    metadataParserCheck(timeStampedData);
}
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:29,代码来源:CMSTimeStampedDataGeneratorTest.java

示例3: testGenerate

import org.bouncycastle.operator.bc.BcDigestCalculatorProvider; //导入方法依赖的package包/类
public void testGenerate()
    throws Exception
{
    BcDigestCalculatorProvider calculatorProvider = new BcDigestCalculatorProvider();
    String algOID = "2.16.840.1.101.3.4.2.1"; // SHA-256
    DigestCalculator hashCalculator = calculatorProvider.get(new AlgorithmIdentifier(algOID));

    cmsTimeStampedDataGenerator.initialiseMessageImprintDigestCalculator(hashCalculator);

    hashCalculator.getOutputStream().write(baseData);
    hashCalculator.getOutputStream().close();

    TimeStampToken timeStampToken = createTimeStampToken(hashCalculator.getDigest(), NISTObjectIdentifiers.id_sha256);
    CMSTimeStampedData cmsTimeStampedData = cmsTimeStampedDataGenerator.generate(timeStampToken, baseData);

    for (int i = 0; i < 3; i++)
    {
        byte[] newRequestData = cmsTimeStampedData.calculateNextHash(hashCalculator);
        TimeStampToken newTimeStampToken = createTimeStampToken(newRequestData, NISTObjectIdentifiers.id_sha256);
        cmsTimeStampedData = cmsTimeStampedData.addTimeStamp(newTimeStampToken);
    }
    byte[] timeStampedData = cmsTimeStampedData.getEncoded();

    // verify
    DigestCalculatorProvider newCalculatorProvider = new BcDigestCalculatorProvider();
    DigestCalculator imprintCalculator = cmsTimeStampedData.getMessageImprintDigestCalculator(newCalculatorProvider);
    CMSTimeStampedData newCMSTimeStampedData = new CMSTimeStampedData(timeStampedData);
    byte[] newContent = newCMSTimeStampedData.getContent();
    assertEquals("Content expected and verified are different", true, Arrays.areEqual(newContent, baseData));

    imprintCalculator.getOutputStream().write(newContent);

    byte[] digest = imprintCalculator.getDigest();

    TimeStampToken[] tokens = cmsTimeStampedData.getTimeStampTokens();
    assertEquals("TimeStampToken expected and verified are different", 4, tokens.length);
    for (int i = 0; i < tokens.length; i++)
    {
        cmsTimeStampedData.validate(newCalculatorProvider, digest, tokens[i]);
    }
}
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:42,代码来源:CMSTimeStampedDataGeneratorTest.java

示例4: testGenerateWithMetadataAndDifferentAlgorithmIdentifier

import org.bouncycastle.operator.bc.BcDigestCalculatorProvider; //导入方法依赖的package包/类
public void testGenerateWithMetadataAndDifferentAlgorithmIdentifier()
    throws Exception
{
    cmsTimeStampedDataGenerator.setMetaData(true, fileInput, "TXT");

    BcDigestCalculatorProvider calculatorProvider = new BcDigestCalculatorProvider();

    ASN1ObjectIdentifier algIdentifier = NISTObjectIdentifiers.id_sha224;

    DigestCalculator hashCalculator = calculatorProvider.get(new AlgorithmIdentifier(algIdentifier));
    cmsTimeStampedDataGenerator.initialiseMessageImprintDigestCalculator(hashCalculator);
    hashCalculator.getOutputStream().write(baseData);
    hashCalculator.getOutputStream().close();

    byte[] requestData = hashCalculator.getDigest();
    TimeStampToken timeStampToken = createTimeStampToken(requestData, algIdentifier);

    CMSTimeStampedData cmsTimeStampedData = cmsTimeStampedDataGenerator.generate(timeStampToken, baseData);

    for (int i = 0; i < 3; i++) {
        switch (i) {
        case 0:
            algIdentifier =    NISTObjectIdentifiers.id_sha224;
            break;
        case 1:
            algIdentifier =    NISTObjectIdentifiers.id_sha256;
            break;
        case 2:
            algIdentifier =    NISTObjectIdentifiers.id_sha384;
            break;
        case 3:
            algIdentifier =    NISTObjectIdentifiers.id_sha512;
            break;
        }
        hashCalculator = calculatorProvider.get(new AlgorithmIdentifier(algIdentifier));
        byte[] newRequestData = cmsTimeStampedData.calculateNextHash(hashCalculator);
        TimeStampToken newTimeStampToken = createTimeStampToken(newRequestData, algIdentifier);
        cmsTimeStampedData = cmsTimeStampedData.addTimeStamp(newTimeStampToken);
    }
    byte[] timeStampedData = cmsTimeStampedData.getEncoded();

    metadataCheck(timeStampedData);
    metadataParserCheck(timeStampedData);

}
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:46,代码来源:CMSTimeStampedDataGeneratorTest.java


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