[英]cms Enveloped Data binary encoding problem in pkijs
我正在尝试使用 pkijs 库实现 CMS 加密内容的交换。 基本上我只是从这里复制了示例: https://pkijs.org/examples/CMSEnvelopedExample.html
这里是加密的摘录
cmsEnveloped.addRecipientByCertificate(certSimpl, { oaepHashAlgorithm: oaepHashAlg });
return cmsEnveloped.encrypt(encAlg, valueBuffer).then(() => {
var cmsContentSimpl = new ContentInfo();
cmsContentSimpl.contentType = "1.2.840.113549.1.7.3";
cmsContentSimpl.content = cmsEnveloped.toSchema();
cmsEnvelopedBuffer = cmsContentSimpl.toSchema().toBER(false);
有问题的部分是 asn.1 模式与.toBER(false)
的二进制编码。 如果 valueBuffer 不是非常小,那么 1 Mb 会非常慢 ~13sek。 我的问题是:为什么这么慢? 我可以对它进行不同的编码,例如toJSON()
然后是stringToArrayBuffer
吗? 有任何安全问题吗?
toBER
中asn1js
的实现有一些未优化的代码。 如果你遇到同样的问题,你应该升级依赖到asn1js@2.4.0
。 这是 github 上的问题: https://github.com/PeculiarVentures/PKI.js/issues/347
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.