4

クライアント側で S/MIME メールを復号化する方法を探しています。クライアントがサーバーと秘密鍵を共有することを特に望んでいないため、クライアントがすべてを独自に行う方法を見つける必要があります。

複数のブラウザーをサポートする必要はないので、現在 Mozilla Firefox でのみ動作する window.Cryptoのようなものを使用してもまったく問題ありません。これは特に、クライアントのブラウザが何らかの形でクライアント コンピューター上の証明書ストアにアクセスする必要があるためです (秘密鍵にアクセスするため - もちろんユーザーの承認を得て)。

このようなことを行うための例やチュートリアルを見つけることはほとんど不可能であるため、どこから始めればよいか迷っています。共有できるコードは大歓迎です。

4

2 に答える 2

0

SMIME.p7m ファイルには詳しくありませんが、pkcs7 で暗号化されているように聞こえます。

pkcs7 をサポートするように見えるnodejs cryptojs モジュールで運が良いかもしれません。

nodejsは JavaScript であるため、すぐに使用できない場合は、出発点として適しています。

多くの場合、nodejs モジュールは、nodejs とブラウザーの使用をサポートするために構築されています。

すぐに使用できるブラウザーをサポートしていない場合は、<keygen>html5 タグとそれに関連する機能(キーの保存など) に興味があるかもしれません。

于 2014-05-10T16:54:13.037 に答える
0

Web Crypto を使用して Javascript で S/MIME メッセージを暗号化/復号化および署名/検証する例がここにあります - https://github.com/PeculiarVentures/pkijs-es6/tree/master/examples/

このアプローチは、ブラウザーと、ノードでhttps://github.com/PeculiarVentures/node-webcrypto-osslなどの WebCrypto ポリフィルを使用する場合のノードの両方で機能します。

于 2016-12-09T08:00:12.300 に答える