RSA鍵ペアの生成
W3C Web Cryptography API を使ってRSAの秘密鍵と公開鍵の鍵ペアを作り、OpenSSL等でも使えるようPKCS#8 PEM形式でエクスポートします。
sign
verify
deriveKey
deriveBits
encrypt
decrypt
wrapKey
unwrapKey
秘密鍵(PEM形式)
公開鍵(PEM形式)
動作確認実績
このページは下記環境で動作を確認しました。
- Firefox 34 for OSX - 問題なく動作
- Firefox 34 for Android - 問題なく動作
- Chrome 39 for OSX - 問題なく動作
- Chrome 39 for Android - HTTPSサイトでしか実行できない(NotSupportedError: Only secure origins are allowed. http://goo.gl/lq4gCo
- Safari 7 for OSX - 問題なく動作
- IE11 for Win8.1 - Promiseパターンに対応していないためエラー
補足説明
- 署名(RSASSA-PKCS1-v1_5やRSA-PSS)の目的で鍵生成するには鍵ペアの使用目的にsignとverifyを加える必要があります。
- 暗号化・秘匿(RSA-OAEP)の目的で鍵生成するには鍵ペアの使用目的にencryptとdecryptを加える必要があります。
- W3C Web Crypto APIのpkcs8やspkiを使った鍵のエクスポート(exportKey)では、DERバイナリ形式のArrayBufferデータとして生成されます。PEM形式のデータに変換するにはjsrsasignなどサードパーティのライブラリが必要になります。