首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java语言中的PKCS#7解密代码

Java语言中的PKCS#7解密代码
EN

Stack Overflow用户
提问于 2014-12-19 16:30:03
回答 1查看 1.3K关注 0票数 0

我对这个地区很陌生。我正在尝试用Java语言开发一个简单的PCKS#7加密/解密函数。加密还没有签名,我只想测试加密/解密(密钥来自密钥库)

下面是我的加密代码。

代码语言:javascript
复制
private static byte[] encryptData() throws Exception {

    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
    FileInputStream fIn = new FileInputStream(_keyStorePath);
    KeyStore keystore = KeyStore.getInstance("JKS");
    keystore.load(fIn, _password);
    Certificate cert = keystore.getCertificate("abc");
    fIn.close();

    // set up the generator
    CMSEnvelopedDataGenerator gen = new CMSEnvelopedDataGenerator();

    gen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator((X509Certificate) cert).setProvider("BC"));

    // create the enveloped-data object
    CMSProcessable data = new CMSProcessableByteArray("Hello World!".getBytes());
    CMSEnvelopedData enveloped = gen.generate((CMSTypedData) data,new JceCMSContentEncryptorBuilder(CMSAlgorithm.DES_EDE3_CBC).setProvider("BC").build());
    return  enveloped.getEncoded();
}

如何编写一个非常简单的解密函数(无验证签名)来解密我的文件?

我在网上做了一些研究,我在谷歌上搜索的示例代码是`RecipientId recId = new RecipientId();

代码语言:javascript
复制
    recId.setSerialNumber(cert.getSerialNumber());
    recId.setIssuer(cert.getIssuerX500Principal().getEncoded());

    RecipientInformationStore recipients = enveloped.getRecipientInfos();
    RecipientInformation recipient = recipients.get(recId);

    byte[] recData = recipient.getContent(key, "BC");`

但是,"RecipientId recId = new RecipientId();“不起作用,错误消息:无法实例化类型RecipientId

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-08 10:05:36

我认为新的API有一些变化。

下面应该是正确的,

代码语言:javascript
复制
X509Certificate cert9 = (X509Certificate) keystore.getCertificate("abc");
    KeyTransRecipientId recId = new JceKeyTransRecipientId(cert9.getIssuerX500Principal(), cert9.getSerialNumber());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27562220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档