之前在 java 用 bouncycastle 库对数据进行 SHA1withRSA 签名后,将签名放置到数字信封里。 现在要用 go 重写这段代码,但是谷歌好久也找不到该如何实现,求助该如何实现。
java 代码如下:
CertDTO certDto = CertUtil.getCertInfo(password, cert);
X509Certificate cerx509 = certDto.getCert()[0];
List<X509Certificate> certList = new ArrayList();
CMSTypedData msg = new CMSProcessableByteArray(data);
certList.add(cerx509);
Store certs = new JcaCertStore(certList);
CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
ContentSigner sha1Signer = (new JcaContentSignerBuilder("SHA1withRSA"))
.setProvider("BC").build(certDto.getPriKey());
gen.addSignerInfoGenerator((new JcaSignerInfoGeneratorBuilder((
new JcaDigestCalculatorProviderBuilder())
.setProvider("BC").build())).build(sha1Signer, cerx509));
gen.addCertificates(certs);
CMSSignedData sigData = gen.generate(msg, isDetach);
signedData = sigData.getEncoded();
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.