opensslコマンドラインツールを使用してシェルスクリプトに変換したい次のJavaコードがあります。
java.security.Signature sig = java.security.Signature.getInstance("SHA1WithRSA");
sig.initSign(privateKey);
sig.update(data);
byte[] signatureBytes = sig.sign();
これまで私は以下を試しました:
openssl dgst -sha1 -binary < data.der > data.hash
openssl rsautl -sign -inkey private.key -keyform pem -in data.hash -out data.rsa
ただし、同じ出力は生成されません。フォーマットやパディングなどと関係があるのではないかと思います。opensslスクリプトを修正するにはどうすればよいですか?
上記の両方のコードは再現可能な結果を生成しますが、結果はjavaとopensslシェルスクリプトで異なります。
すべての提案をいただければ幸いです。
よろしくイェンス