1

OpenSSL の割り当てを行うために、大学のサーバーに SSH で接続しようとしています。自己署名証明書aasignedcert.pem、署名に使用した秘密鍵aaprivatekey.pem、平文がありtest.txtます。

最初にメッセージに署名してtestsigned.txt、次のコマンドでファイルを作成しました。

openssl smime -sign -signer aasignedcert.pem -in test.txt -inkey aaprivatekey.pem > testsigned.txt

次に、ファイルを暗号化して作成しますtestsigned.txt.enc

openssl smime -encrypt -in testsigned.txt -aes128 aasignedcert.pem > test.txt.enc

すべてが機能することを確認するために、そのファイルを復号化し、次の場所に保存しましたtestsigned.dec.txt

openssl smime -decrypt -aes128 -in test.txt.enc -inkey aaprivatekey.pem > test.dec.txt

復号化されたファイルには、実際に元の平文が含まれています。最後に、署名した証明書を使用して検証を試みました。

openssl smime -verify -in test.dec.txt -CAfile aasignedcert.pem -certfile aasignedcert.pem

ただし、これは機能しません。パラメータをいじっても、一貫して次のエラー メッセージが表示されます。

Verification failure 139814549997256:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:342:Verify error:unable to get local issuer certificate

私は自分が間違っていることを理解できません。誰にもアイデアはありますか?

4

2 に答える 2

2

どのように aasignedcert.pem を作成しましたか? おそらく、作成したローカル CA を使用して自己署名したのでしょうか? この場合、CA の証明書を-CAfile 引数に渡す必要があると思います。

openssl smime -verify -in test.dec.txt -CAfile [CA の証明書] -certfile aasignedcert.pem

于 2013-02-21T05:05:48.913 に答える