1

私は独自のAESコードに取り組んでいます。しかし同時に、エンコードの目的で OpenSSL を使用しています。Open SSL の次のコマンドを使用して、RSA キーをエンコードしました。

openssl genrsa -out key.pem 1024

これによりkey.pem、「BEGIN」と「END」の逸話が含まれたファイルが得られます。次のコマンドを使用してファイルをエンコードしました。

openssl enc -aes-128-cbc -salt -in file.txt -out file.enc -pass file:./key.pem

コードでこのファイルをデコードしたい。バッファ内のキー ファイルを読み取り、AES ライブラリを使用してデコードしようとしていますが、失敗しています。また、同じものに対して Open SSL デコード コマンドを試してみましたが、これも失敗しています。

成功したデコード:

openssl enc -d -aes-128-cbc -in file.enc -out file.txt -pass file:./key.pem

デコードに失敗しました (key.pem ファイルの内容をコマンド ラインのバッファーとして使用):

openssl enc -d -aes-128-cbc -in file.enc -out file.txt -pass pass:"-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDHYfNAzVcM8OVxUIF/Yek/ZvhRGHJIjbcWO/vVWUDJWzKCC2dP
KSeBnSRdFTjGKmowOUxpiKXdpKekc2CCRNiwjTykoNhm9K+un2yoj7pgtMoH1R4g
y8rviea3kXQGxAaHq5mi2XGZE7/LlEhEr7B/5UcntrU9B6sXXn0Pa9iRAQIDAQAB
AoGAf4hn0EuIIv7zxEd6jcBTMfrrWvQIJeB/+/jiXNV6W1G6PPSOYFQysPWTDPdG
GXuH8NC1z8tYTS3FDau/T5Q6BZM/T4/vIwjbLZfa1UpmzXB08kpUliUDwSZ6W4Be
uuZWyqvevqKBn/TO8DUfd684tL3O4m8q9o+n9JtqjaVYFAECQQDmFj6GfL6NdUZa
RKJVC/8WbAt/FKlkwIpXsKWD600Fj59oDC0ue9/hth9r3bCjPU1tAEy7Gfltd4bm
Fa7YbPL9AkEA3dZ0eI7v+c3P6/5R0yHsnZIlYPBBHWeSqp4FlASmj9i1cD8IOZ1g
7JKhlJVMC19vf647JCwJAl6H2exnH4BfVQJAL9280DmvYrpdEnZo1wyR2tZLZfqk
auNrZGbJaDJRabDBVuIBnEQFBW3gB46tKqicLOr9C4eRzmYpWEB2iWvQ+QJAPagI
USWxLyXz3yydQ2hPYnAnMW01O934lrE67avpO1vI+fya5aCHOtl6TVi9fP+2dq9P
Qrt2eZEagwhAlTHRzQJAdf6CGLVdgXWq+JyK6Yp3S9npd+YKJ3T0OJ0Qg9VlB+OQ
s/tlqQuXmj03ZxS9+e5pD0rZ9QvL7BtZ30hHYHOHCw== -----END RSA PRIVATE
KEY-----"

正常にデコードできるように、バッファに .pem ファイルを保持する方法を知りたいですか?

4

1 に答える 1

0

ここで実際に行っているのは、RSA 暗号化または復号化ではなく、パスワードとしてRSA キーを使用することです。次に、OpenSSL はキー派生スキームを使用して「パスワード」から AES キーを作成し、このキーを使用してテキスト ファイルを暗号化します。

これは本当にやりたいことではないと思います (たとえば、これに RSA キーを使用する意味はありません) が、主な質問がバッファを使用してファイルの内容を OpenSSL に渡す方法である場合は、OpenSSL ドキュメントのPASS PHRASE ARGUMENTSセクション。オプション-pass stdin引数は、プロセスの標準入力ストリームで「パスワード」を渡すことができることを意味します。

于 2012-11-10T21:24:33.907 に答える