簡體   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