opensslで作成された公開鍵を使ってjavascriptで暗号化を行い、BASE64エンコードのテキストにしたいと考えています。
crypto-jsを使って
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
下記のように記述してみたのですが、どうやら期待する暗号化がされないようです。
var encrypted_data_txt = '{“password”: “YYYYYY”}'; var server_publickey = "-----BEGIN PUBLIC KEY-----kqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA18CAW/nyxstwi4JsIU+dS1344ZlbsdVFuEnmsUoJ7J1smoSEa46Ke4+JF4z2bS0zS2xO3mSsAmM1T4chlaNX/drrA74BM52jXXXDqh8c+HcDx8yWfCb68gFgPOhpmnE8hefBzlGBprypUjFcFea4ZYeX/n/A/4gEC/dGo4PvC0xszFuMEY+aw++ddp2xKR78jUxBkD3uO038/IjavpWVW2nR0vAYTwMvkQC1GtD+SRSRh/0IQ5Vx/Ds/FBFK5GstahImRf2lAgtKln56aJAe3xYPiGQ+0dujahh6/KL9QBjhY0oZNaCCT378kkg+WldNZCmKnA+cZGty64gbc8rzwQIDAQAB-----END PUBLIC KEY-----"; var encrypted_data_enc = CryptoJS.AES.encrypt(encrypted_data_txt, server_publickey);
怪しい点が2つありまして、
1)手元にある公開鍵は改行されていたが、改行を削除して変数server_publickeyに入れている。
2)暗号化の際に何かしらオプション的なものをつけなければいけないのか
なお、ローカルでopensslを使った暗号化は成功しております。
コマンドはこちらです。
//暗号化 openssl rsautl -encrypt -pubin -inkey server_publickey -in target.txt -out target.encrypted //BASE64への変換 openssl enc -e -base64 -A -in target.encrypted -out target.base64
ご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。