2013-02-21 64 views
0

我正在嘗試通過SSH進入我的大學的服務器以執行OpenSSL分配。我有我的自簽名證書aasignedcert.pem,它與aaprivatekey.pem簽署的私鑰和我的明文test.txt無法通過SSH驗證openssl smime驗證

我第一次籤我的信息來創建我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

我想不出什麼我做錯了。有人有想法嗎?

回答

1

你是如何創建aasignedcert.pem的?也許你是使用你創建的本地CA自簽名的?如果是這種情況,我相信您需要將CA的證書通過傳遞給-CAfile參數。

OpenSSL的SMIME -verify -in test.dec.txt -CAfile [的CA認證文件] -CertFile aasignedcert.pem

+0

是的,完全錯過了那一個。我知道這很簡單。謝謝! – 2013-02-21 07:10:08

0

爲了驗證消息可以提供-noverify時抑制密鑰證書的檢查參數驗證命令(雖然openssl smime verify -noverify看起來有點奇怪)。