[英]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.