テキスト文字列の base64 での SHA1 ダイジェストの検証に問題があります。
ファイル (test1) に次のテキスト文字列があります。
2008-03-10;2008-03-10T15:58:00;FT 1/1;28.07;
そして、次のコマンドを使用してエンコードしました(テキストファイル自体ではなく、テキスト文字列をエンコードしていることを思い出してください):
openssl dgst -sha1 -sign Private_key.pem < test1 | openssl enc -base64 > hash1
これにより、次のダイジェストが生成されます。
F8952fjEClltx2tF9m6/QTFynFjSuiboMslNZ1ag9oR5iIivgYYa0cNa0wJeWXlsf8QQVHUol303hp7XmIy5/kFOiV0v8QH6SF0Q5zNsDtpeFh2ZJ256y0DkJMSQqCq3oSka+9zIXXRkXgEsSv6VScCYv8VTlIcGjsablpR6A4=
ここで、公開鍵を使用してこのダイジェストを検証したいと思いますが、使用したコマンドは、openssl のハウツーに記載されている例です。
openssl dgst -sha1 -verify Public_key.pem -signature hash1 test1
しかし、これは常に私に「検証失敗」を与えます。
注: hash1 ファイルには \n がなく、test1 ファイルにはエンコードされた文字列が含まれています。