2014-03-13 48 views
1

有沒有一種方法可以用來區分多層次和單層次的證書..我有一個應用程序,我允許用戶上傳證書,我想把一個檢查,只有單層文件上傳單層和多層次證書之間的差異

有沒有一個命令來做到這一點?

由於

+0

你對「單級」和「多級」證書有什麼意義? – jww

+0

[請看這裏](http://pages.cs.wisc.edu/~zmiller/ca-howto/)在介紹部分解釋 –

+0

證書沒有等級。你在談論路徑長度嗎?如果是這樣,請參閱['SSL_CTX_set_verify_depth'](https://www.openssl.org/docs/ssl/SSL_CTX_set_verify.html)和朋友。 – jww

回答

1

多級證書裝置,它是由一些其它的CA簽名單層證書是指由自己簽署的證書,也稱爲自簽名證書。

意思是,如果您可以檢查證書是否是自簽名的,那麼您可以判斷它是單層還是多層。

要快速檢查證書是否是自簽名,你可以使用下面的命令:

openssl verify -CAfile cert.crt cert.crt 

凡cert.crt是PEM格式的證書。

如果測試沒問題,那麼它是自簽名的,因此是單一級別。否則,多層次。

您也可以編寫C程序來驗證您的證書是自簽名還是使用X509_verify函數。