2013-10-18 80 views
1

我有一個需要通過wpa2企業加密連接到路由器的嵌入式設備。
我需要替換文件中的代碼中的默認證書cacert.h , client-cert.h and client-key.h.密鑰和證書必須如此硬編碼。
我擁有一個client.p12文件,它的內容需要分佈在這三個文件或其任意組合中。
任何人都可以請告訴如何從client.p12文件中提取上述密鑰,並提取哪些密鑰後去哪裏?從p12證書中提取並放置密鑰

+0

你想通過openssl工具或openssl API(通過C程序)解決嗎? – doptimusprime

+0

通過openssl –

+0

我認爲從p12證書中分離證書,儘管這是主要關心的問題。 –

回答

1

您可能需要使用openssl pkcs12命令。請參閱其page

要解析PKCS#12文件(P12文件)轉換成密鑰和證書,使用下面的命令

openssl pkcs12 -in client.p12 -out client.pem 

client.pem將有證書(因爲它也有證書鏈)和私鑰。所有將以PEM格式。您可以使用一些實用程序來讀取內容並在開始時將它們分開----- BEGIN。

它還會要求爲此p13文件輸入密碼(用於私鑰)和輸入密碼短語。

如果您只想提取證書,請使用以下命令。

openssl pkcs12 -in client.p12 -clcerts -out cert.pem 

在此,cert.pem僅具有客戶端證書。

我希望這會幫助你。

+0

,你也可以告訴我關於客戶端密鑰 –

+0

@ dev-null_to_dev_full:第一個命令'openssl pkcs12 -in client.p12 -out client.pem'也輸出client.pem中的私鑰。您可以從文件中提取私鑰。 – doptimusprime

+0

最後一個問題,你如何從同一個東西獲得一個叫做cacert的東西? –