使用 PHP 與 OpenSSL 進行憑證轉換 (.der, .crt, .cer 至 .pem)

更新於 發佈於 閱讀時間約 4 分鐘

使用PHP 搭配 OpenSSL 進行憑證轉換

.der → .pem

=>"openssl x509 -inform DER -in certificate.der -out certificate.pem"

.crt→ .pem

=>"openssl x509 -in certificate.crt -out certificate.pem"

.cer → .pem

=>"openssl x509 -in certificate.cer -out certificate.pem"


使用PHP 進行憑證轉

.CER轉 .PEM

$cerFile = 'certificate.cer';

$pemFile = 'certificate.pem';

// 讀取憑證內容

$certContent = file_get_contents($cerFile);

// 嘗試讀取憑證

$cert = openssl_x509_read($certContent);

if ($cert) {

// 將憑證轉換為 PEM 格式

openssl_x509_export($cert, $pemContent);

file_put_contents($pemFile, $pemContent);

echo "CER 已成功轉換為 PEM\n";

} else {

echo "無法解析 CER 檔案\n";

}

.CRT轉 .PEM

$crtFile = 'certificate.crt';

$pemFile = 'certificate.pem';

// 讀取憑證內容

$certContent = file_get_contents($crtFile);

// 嘗試讀取 X.509 憑證

$cert = openssl_x509_read($certContent);

if ($cert) {

openssl_x509_export($cert, $pemContent);

file_put_contents($pemFile, $pemContent);

echo "CRT 已成功轉換為 PEM\n";

} else {

echo "無法解析 CRT 檔案\n";

}

.DER 轉 .PEM

$derFile = 'certificate.der';

$pemFile = 'certificate.pem';

// 讀取 DER 憑證

$certContent = file_get_contents($derFile);

// 轉換為 PEM 格式(Base64 編碼 + PEM 標頭)

$pemContent = "-----BEGIN CERTIFICATE-----\n" .

chunk_split(base64_encode($certContent), 64, "\n") .

"-----END CERTIFICATE-----\n";

file_put_contents($pemFile, $pemContent);

echo "DER 已成功轉換為 PEM\n";


openssl_x509_read()

openssl_x509_read() 用於解析 X.509 憑證,適用於.cer和 .crt 文件(若為 PEM 格式)。但如果是 DER 格式的憑證,則需要先進行轉換。




留言
avatar-img
留言分享你的想法!
avatar-img
孤雨凡花的秘密基地
6會員
61內容數
分享追劇心得、美食、跟小說創作
2025/03/20
1. 緒論 訊息完整性的重要性在於確保資料在傳輸過程中未經竄改 1。這對於建立企業對企業 (B2B) 通訊的信任和可靠性至關重要 2。在 AS2 (Applicability Statement 2) 通訊中,訊息完整性檢查 (MIC) 與訊息回條 (MDN) 密切相關,對於法律上有效的不可否認性
2025/03/20
1. 緒論 訊息完整性的重要性在於確保資料在傳輸過程中未經竄改 1。這對於建立企業對企業 (B2B) 通訊的信任和可靠性至關重要 2。在 AS2 (Applicability Statement 2) 通訊中,訊息完整性檢查 (MIC) 與訊息回條 (MDN) 密切相關,對於法律上有效的不可否認性
2025/02/13
私有金鑰(Private Key)有幾種常見的檔案格式,主要取決於所使用的加密系統和工具。以下是一些常見的私有金鑰格式: PEM (Privacy-Enhanced Mail) 格式: 副檔名通常為 .pem、.key 或 .crt。 PEM 格式的私有金鑰是 Base64 編碼的內文,並且被
2025/02/13
私有金鑰(Private Key)有幾種常見的檔案格式,主要取決於所使用的加密系統和工具。以下是一些常見的私有金鑰格式: PEM (Privacy-Enhanced Mail) 格式: 副檔名通常為 .pem、.key 或 .crt。 PEM 格式的私有金鑰是 Base64 編碼的內文,並且被
2025/01/22
步驟 找出要定格的片段(按下C,用剃刀工具或是X,進行切割 片段右鍵 -> 偵定格->入點 將片段複製 (按ALT) 往上拉 選上面的圖層 ->效果控制 ->不透明度 ->鋼筆工具 ->進行人物描邊 效果 ->油漆桶 ->上面圖層 ->右鍵 ->嵌套 ->取名 ->將油漆桶拖到上圖層 效
2025/01/22
步驟 找出要定格的片段(按下C,用剃刀工具或是X,進行切割 片段右鍵 -> 偵定格->入點 將片段複製 (按ALT) 往上拉 選上面的圖層 ->效果控制 ->不透明度 ->鋼筆工具 ->進行人物描邊 效果 ->油漆桶 ->上面圖層 ->右鍵 ->嵌套 ->取名 ->將油漆桶拖到上圖層 效
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
這篇文章介紹如何使用 Node.js 與 SOYAL 門禁控制器通訊,包含無加密與 DES 加密兩種模式,詳細說明封包結構、Padding 處理、CRC 計算及 TCP/IP、RS485 串接方式,適合開發智慧門禁與自動化系統的工程師參考。
Thumbnail
這篇文章介紹如何使用 Node.js 與 SOYAL 門禁控制器通訊,包含無加密與 DES 加密兩種模式,詳細說明封包結構、Padding 處理、CRC 計算及 TCP/IP、RS485 串接方式,適合開發智慧門禁與自動化系統的工程師參考。
Thumbnail
這篇文章介紹如何使用PHP和OpenSSL函式庫將.der、.crt和.cer憑證檔案轉換成.pem格式。文中提供指令碼範例,並說明如何處理不同格式的憑證,以及openssl_x509_read()函式的使用方法。
Thumbnail
這篇文章介紹如何使用PHP和OpenSSL函式庫將.der、.crt和.cer憑證檔案轉換成.pem格式。文中提供指令碼範例,並說明如何處理不同格式的憑證,以及openssl_x509_read()函式的使用方法。
Thumbnail
本篇介紹了常見的加密演算法。對稱式加密使用相同的金鑰進行加解密,常見的演算法有DES、3DES和AES;而非對稱式加密則依賴於一對公私金鑰,典型演算法包括RSA和ECC。此外,文章還探討了雜湊函式的基本特性及應用,如MD和SHA,以及數位簽章的重要性。本文旨在幫助讀者理解當今信息安全領域的核心技術。
Thumbnail
本篇介紹了常見的加密演算法。對稱式加密使用相同的金鑰進行加解密,常見的演算法有DES、3DES和AES;而非對稱式加密則依賴於一對公私金鑰,典型演算法包括RSA和ECC。此外,文章還探討了雜湊函式的基本特性及應用,如MD和SHA,以及數位簽章的重要性。本文旨在幫助讀者理解當今信息安全領域的核心技術。
Thumbnail
這篇文章提供了一些資源和平臺,可讓你系統性地學習加密貨幣的知識,並隨著經驗的累積深入瞭解更多進階主題。
Thumbnail
這篇文章提供了一些資源和平臺,可讓你系統性地學習加密貨幣的知識,並隨著經驗的累積深入瞭解更多進階主題。
Thumbnail
在進行開發工作時,可能會使用不同的 Git 帳號做登入和推送的情形,例如: 公司的 Git 帳號和個人的帳號,這樣做的好處是為了確保開發工作能清楚劃分,所以需要做切換帳號的動作,特別是在不同的專案間切換 commit 的對象,因此有了這篇文紀錄這個過程。
Thumbnail
在進行開發工作時,可能會使用不同的 Git 帳號做登入和推送的情形,例如: 公司的 Git 帳號和個人的帳號,這樣做的好處是為了確保開發工作能清楚劃分,所以需要做切換帳號的動作,特別是在不同的專案間切換 commit 的對象,因此有了這篇文紀錄這個過程。
Thumbnail
HTTPS全名是超文本傳輸安全協定,是瀏覽器與Web伺服器間的資料傳遞是以加密的方式進行通訊,而且資料隱私比http好。如果需要從外網連線到自己自己架設Nextcloud那就要改成https比較好,避免資料沒加密就傳送出去。 另外一點是如果iphone手機系統是IOS 15.6版的要連線到nextc
Thumbnail
HTTPS全名是超文本傳輸安全協定,是瀏覽器與Web伺服器間的資料傳遞是以加密的方式進行通訊,而且資料隱私比http好。如果需要從外網連線到自己自己架設Nextcloud那就要改成https比較好,避免資料沒加密就傳送出去。 另外一點是如果iphone手機系統是IOS 15.6版的要連線到nextc
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News