Вложенный PKCS7 в BouncyCastle

Я хотел бы инкапсулировать SignedData в EnvelopedData. Я использую BouncyCastle. Посмотрев пример, я написал что-то вроде этого:

 CMSSignedData signedData = gen.generate(new CMSProcessableByteArray(out.toByteArray()), true);


    FileInputStream inputStream = new FileInputStream(args[3]);

    CertificateFactory factory = CertificateFactory.getInstance("X.509", "BC");
    X509Certificate certificate = (X509Certificate) factory.generateCertificate(inputStream);

    CMSEnvelopedDataGenerator engen = new CMSEnvelopedDataGenerator();
    engen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(certificate).setProvider("BC"));
CMSEnvelopedData envelopedData =engen.generate(  new CMSProcessableByteArray(signedData.getEncoded()),
new JceCMSContentEncryptorBuilder(CMSAlgorithm.AES256_CBC).setProvider("BC").build());

Но я думаю, что это неправильно. Где я могу указать ContentType для ContentInfo? Мне нужно указать тип содержимого EnvelopedData как SignedData, но это невозможно с классом CMSSignedData.

0 ответов

Другие вопросы по тегам