繁体   English   中英

pkijs中的cms Enveloped Data二进制编码问题

[英]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吗? 有任何安全问题吗?

toBERasn1js的实现有一些未优化的代码。 如果你遇到同样的问题,你应该升级依赖到asn1js@2.4.0 这是 github 上的问题: https://github.com/PeculiarVentures/PKI.js/issues/347

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM