我想使用PKCS#7规范(仅签名数据)为某些内容准备数字签名。我通过访问SMART卡设备获得签署者证书。我使用BouncyCastle作为Java中的提供程序并使用CMSSignedData类的getEncoded方法,但我得到的输出是不对的,它不起作用。任何人都可以告诉我正确的程序或一些示例代码来做同样的事情
答案 0 :(得分:1)
使用
准备signedDatacrypto.signText("textTosign","ask")
'byteArr'将是你的signedData它将BASE64编码做解码它传递给CMSSignedData
CMSSignedData csd = new CMSSignedData(byteArr);
CertStore cStore = csd.getCertificatesAndCRLs("Collection", "BC");
SignerInformationStore signers = csd.getSignerInfos();
Collection<SignerInformation> lstSigner = signers.getSigners();