本文整理汇总了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();
}
示例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);
}
示例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]);
}
}
示例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);
}