首頁 > 套件與系統管理 > openssl pkcs12

openssl pkcs12:PKCS#12 文件管理

PKCS#12(個人資訊交換語法)檔案是一種標準格式,用於將私鑰及其相關憑證捆綁並儲存在一個加密的檔案中。`openssl pkcs12` 命令用於建立、解析和轉換此類 PKCS#12 檔案。它主要用於一次性管理網頁伺服器的 SSL/TLS 憑證和私鑰,或將憑證匯入或匯出到其他系統。

概述

`openssl pkcs12` 是 OpenSSL 工具包的子命令,專門用於處理 PKCS#12 格式的檔案。透過此命令,您可以將私鑰和憑證捆綁(匯出)到 PKCS#12 檔案,或從 PKCS#12 檔案中提取(匯入)私鑰和憑證。

主要功能

  • 將私鑰和憑證匯出到 PKCS#12 檔案
  • 從 PKCS#12 檔案提取私鑰
  • 從 PKCS#12 檔案提取憑證
  • 更改 PKCS#12 檔案的密碼

主要選項

`openssl pkcs12` 命令透過各種選項,可以精細控制 PKCS#12 檔案的建立、提取和加密方式。

基本操作和檔案輸入/輸出

密碼和安全性

提取和過濾

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`openssl pkcs12` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

以下是一些使用 `openssl pkcs12` 命令處理 PKCS#12 檔案的常見場景。

將私鑰和憑證匯出到 PKCS#12 檔案

openssl pkcs12 -export -out output.p12 -inkey key.pem -in cert.pem -name "My Certificate"

將私鑰 (key.pem) 和憑證 (cert.pem) 捆綁到一個 PKCS#12 檔案 (output.p12) 中。在此過程中設定密碼。

從 PKCS#12 檔案提取私鑰

openssl pkcs12 -in input.p12 -nocerts -out key.pem -nodes

從加密的 PKCS#12 檔案 (input.p12) 中提取私鑰並儲存到 key.pem 檔案。在此過程中需要輸入 PKCS#12 檔案的密碼。

從 PKCS#12 檔案提取憑證

openssl pkcs12 -in input.p12 -nokeys -out cert.pem

從 PKCS#12 檔案 (input.p12) 中僅提取憑證並儲存到 cert.pem 檔案。在此過程中需要輸入 PKCS#12 檔案的密碼。

更改 PKCS#12 檔案的密碼

openssl pkcs12 -in old.p12 -out new.p12 -passin pass:old_password -passout pass:new_password

將現有的 PKCS#12 檔案 (old.p12) 的密碼更改為新密碼,並儲存為 new.p12 檔案。使用 `-passin` 和 `-passout` 選項指定密碼。

安裝

`openssl pkcs12` 命令是 OpenSSL 套件的一部分。大多數 Linux 發行版預設都安裝了 OpenSSL,但如果沒有,您可以使用以下命令進行安裝。

Debian/Ubuntu

sudo apt update && sudo apt install openssl

使用 APT 套件管理器安裝 OpenSSL。

CentOS/RHEL/Fedora

sudo yum install openssl
# 或
sudo dnf install openssl

使用 YUM 或 DNF 套件管理器安裝 OpenSSL。

提示與注意事項

PKCS#12 檔案包含敏感的私鑰,因此在使用時必須特別注意安全性。

安全性考量

  • **使用強密碼**:PKCS#12 檔案的密碼應設定得足夠長且複雜,以抵抗暴力破解攻擊。
  • **防止密碼洩露**:建議使用 `env:VAR_NAME` 或 `file:path` 格式,而不是直接在 `-passin` 或 `-passout` 選項中輸入密碼,以避免密碼記錄在 shell 歷史記錄中。
  • **謹慎使用 `-nodes`**:排除私鑰加密的 `-nodes` 選項非常危險,僅應在絕對必要時使用,並確保提取的金鑰檔案的安全。
  • **備份**:請務必將重要的憑證和金鑰安全備份。

OpenSSL 版本相容性

不同版本的 OpenSSL 在某些選項或預設行為上可能存在差異。如果遇到問題,建議參考您正在使用的 OpenSSL 版本的官方文件(`man openssl-pkcs12`)。


相同類別命令