2012-08-03 35 views
6

是否有方法從我的shell中的.pem文件中讀取通用名稱?從.pem文件中讀取通用名稱

由於

+0

您能否告訴我們.pem是如何創建的,並確認這是關於x509證書的? – 2012-08-09 21:05:22

回答

12

首先,在.pem延伸僅指在文件中使用的編碼的類型。

共同的名字將是一個證書的主題或發行人的特點,並且可以通過與編碼的文本的base64的線

$ grep CERTIFICATE f.pem 
-----BEGIN CERTIFICATE----- 
-----END CERTIFICATE----- 

和大量的認可。

如果.pem文件包含x509 certificate, 這應該做的伎倆:

openssl x509 -in cacert.pem -noout -text 

這將轉儲整個證書。 openssl x509 命令有幾個選項可以禁止你不想看到的字段。你會發現那些在手冊頁解釋,TEXT OPTIONS

下,您也可以選擇得到顯示剛剛證書的「主題」:

openssl x509 -in cacert.pem -noout -subject 

例子:

讓我們捕捉證書stackoverflow.com直接從服務器

$ : | openssl s_client -connect stackoverflow.com:443 > f.pem 2>& 1 && 
     openssl x509 -in f.pem -noout -subject 2>& 1 

輸出:

subject= /C=US/ST=NY/L=New York/O=Stack Exchange, Inc./CN=*.stackexchange.com