要使用OpenSSL生成PKCS12格式的证书和私钥,可以按照以下步骤进行操作:

1. 安装OpenSSL

首先,确保已在计算机上安装了OpenSSL。可以从OpenSSL官方网站(https://www.openssl.org/)下载并安装适用于您的操作系统的版本。这里简单总结下在 Windows 上安装 OpenSSL 步骤。

1.1 下载 OpenSSL

从 OpenSSL 官方网站(https://www.openssl.org/)下载最新版本的 OpenSSL。

1.2 安装 OpenSSL

运行下载的 OpenSSL 安装程序,并按照提示进行操作。在默认情况下,OpenSSL 将安装在 `C:\Program Files\OpenSSL` 目录下。

1.3 配置系统环境变量

在 Windows 操作系统中,需要将 OpenSSL 的路径添加到系统的环境变量中,以便能够从任何位置执行 OpenSSL 命令。请按照以下步骤进行操作:

   a. 右键单击“计算机”或“我的电脑”,然后选择“属性”。

   b. 点击“高级系统设置”,在弹出的对话框中选择“环境变量”。

   c. 在“系统变量”下找到“Path”变量并双击编辑。

   d. 在变量值的末尾输入 OpenSSL 的安装路径,例如 `;C:\Program Files\OpenSSL\bin`(请注意分号和路径中的空格)。然后点击“确定”。

1.4 验证安装

打开命令提示符并运行以下命令来验证是否成功安装了 OpenSSL:

openssl version

如果看到输出的 OpenSSL 版本号,则说明 OpenSSL 已成功安装并配置。

2. 生成私钥

打开终端或命令提示符,并运行以下命令来生成私钥文件:

openssl genpkey -algorithm RSA -out private.key

这将生成一个名为private.key的私钥文件。

3. 生成证书签名请求(CSR)

使用生成的私钥,运行以下命令生成CSR文件:

openssl req -new -key private.key -out csr.csr

这里将需要提供一些与证书相关的信息,例如组织名称、通用名称等。根据提示输入所需信息。

4. 自签名证书

如果您想生成自签名证书,可以使用以下命令生成证书:

openssl x509 -req -days 3650 -in csr.csr -signkey private.key -out certificate.crt

这将生成一个名为certificate.crt的自签名证书文件,并且该证书将在3650天后过期。您可以根据需要调整有效期限。

5. 生成PKCS12文件

现在,使用以下命令将私钥和证书合并到PKCS12文件中。这里有两种方式设置口令:

5.1 自定义口令方式

openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt

您将被要求设置一个密码以保护PKCS12文件。

5.2 强制口令方式

强制设置密码长度不是一个好的做法,因为这降低了密码的安全性。如果您坚持要设置8个1作为密码,可以使用以下命令:

openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt -passout pass:11111111

该命令将从名为 `private.key` 的私钥文件和名为 `certificate.crt` 的证书文件中生成一个 `.p12` 文件,并设置密码为八个数字 1。

    请注意,强制要求密码长度为 8 位数字并不是一种好的做法,因为这使得密码更容易被猜测或破解。建议您使用更长、更复杂的密码,并遵循最佳实践以确保密码的安全性。

6.使用 OpenSSL 查看 .p12 文件的内容

使用 OpenSSL 工具来查看 .p12 文件的内容。按以下步骤进行操作:

打开终端或命令提示符,并导航到包含.p12文件的目录。 运行以下命令来查看 .p12 文件的内容:

openssl pkcs12 -info -in certificate.p12

   此命令将显示 .p12文件中包含的证书和私钥的详细信息,例如颁发机构、有效期限等。

  查看刚才产生的certificate.p12文件内容如下:

E:\RJ\openssl\installed\OpenSSL-Win64\bin>

E:\RJ\openssl\installed\OpenSSL-Win64\bin>openssl pkcs12 -info -in certificate.p12

Enter Import Password:

MAC: sha256, Iteration 2048

MAC length: 32, salt length: 8

PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256

Certificate bag

Bag Attributes

localKeyID: AF C4 DE AF A0 97 88 29 AB 3E 45 B2 AE 50 E5 85 47 E7 27 77

subject=C = CN, ST = SC, L = CD, O = CETCCST, OU = CETCCST, CN = CETCCST

issuer=C = CN, ST = SC, L = CD, O = CETCCST, OU = CETCCST, CN = CETCCST

-----BEGIN CERTIFICATE-----

MIIDQTCCAikCFCbkxe+aDst30+2ajis12WN5oq3oMA0GCSqGSIb3DQEBCwUAMF0x

CzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTQzELMAkGA1UEBwwCQ0QxEDAOBgNVBAoM

B0NFVENDU1QxEDAOBgNVBAsMB0NFVENDU1QxEDAOBgNVBAMMB0NFVENDU1QwHhcN

MjMxMjE3MDUzNzM3WhcNMjQxMjE2MDUzNzM3WjBdMQswCQYDVQQGEwJDTjELMAkG

A1UECAwCU0MxCzAJBgNVBAcMAkNEMRAwDgYDVQQKDAdDRVRDQ1NUMRAwDgYDVQQL

DAdDRVRDQ1NUMRAwDgYDVQQDDAdDRVRDQ1NUMIIBIjANBgkqhkiG9w0BAQEFAAOC

AQ8AMIIBCgKCAQEApCugCrfRarsT6hVxQiBGdFokur5VOVPyy9Hvfp4AM7SGZnHL

d38IByXWzSqgqbrD+hamKEY77X33/oWueSFB7tFd5Vxspydv6dfCqxRVTp35AyNj

0dzmitjcazNRphqeM/XAqTot95p6fJpykdHWT0v1ekYZyH58ilhxLM+Y24FILVAs

NCsOsSwXIpNzPOwJfIyE2tGGPE4RXVpaysRiPYx9LzwzHwpA6o7AZfl20w1IPNTy

6Ov+spOcDnq5/wmIBcfKxyiQNUM68Sni9FtC/5UjmigsnHDCj3dZKsPQgGf1DYBZ

TiV5DwOpuQA7q3+hUwMaCRZqZG4NDN+27ok9SwIDAQABMA0GCSqGSIb3DQEBCwUA

A4IBAQAsfajDkA5maKJZxW/Gl3hL0gIij6j346lf9RWJMnUX6SDc0mtpg033CzPN

Y3H4Is1VQ7vBMWVZqCQmfQgdmL9UTl8oGprsi3srhjRRWqxslivX+5bAa7f/lIcR

qk8N42CXJ6w+IkyHKArBEG21iz/nLbb2OVcvPu3tVO/I0GLjVjdwr0FJ6GnBH+vv

0QhjKZLR8zCAKhbplqX0pWIMuZdsrekoU/lRTVwGvB0G3oK3HW9EXMmUDiHcPPhC

W16/0zsIHwRfRm6GjuiTHXZxamX9Nnbw5G3BETjdKJdvXwcDl+veZUzl1pOAnutG

VipTLXifLFCD7lADMyIxQV7xcPiX

-----END CERTIFICATE-----

PKCS7 Data

Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256

Bag Attributes

localKeyID: AF C4 DE AF A0 97 88 29 AB 3E 45 B2 AE 50 E5 85 47 E7 27 77

Key Attributes:

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIXS7Sp38x+fECAggA

MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBAX7BUqc2Kea7pInSH0lXkSBIIE

0J3i5GBSxn6QAhfWcaJJjTL/YBVPT5Cc4WpLWXwsKK5DDTeVFbt4DcEqAvcNPf0k

0KdSUvCWrWH28JKJ0r5TEnwAUiXbjfK6Kd5dBV25lN43/3ZaAWs/aP/y909bvCja

xQtdpSyF6IyajgFCnolqed6PCoY3fT/CzFzgFxiFNDyjaI8ZLYz7Oe3ihuTqfJwD

a/B+7y/KEf3EKpaEwpNRk2aju7ucs9jZB870XzLgmHB3ABsGLD1q10W5wGDyvQPk

D+0QSAN587BuyG6L4uUVPiKBIK+BIYVWCjHF97stCNBa+obCwktZpfeZvwNkLsiH

mY57y4Tkuu6Kqacdfe5qKCQdYF6illp5UtNx5JODB9T4iSxqKMsGErW04i/SXs9r

RyOZpZB824SD4WpOXFoo1lwU0M8rYbWhnH393CRp9ffjhPk5iK+qvLAuDgMiTRhf

0ophKnMbpqKmtyEfsZ+XVta8+W3pSdtzw71Am8dadtlzAo8J60IWwZdEWrJ82tIk

BRl2Lrt3hKfyuTkhMW69q4790hg5gHL4iBy+A3fatJizUFgd+V/fp3Pe6rq22ReB

Y+S4d9RKgEiKlZzPZiuUXr2pMVHVLo3jNDORckv7Ec/VlSpKbbUDDrNo/EtUf9+r

y3wxnymV3RPtmCeIHpKDJg2NXTlRcYdn+01WPc8AOPZ7r46ehQ49EEiOGqX09rDO

SlX3e4UNbte1x/bR6GWJ+EwjWpo4AcLJ5O28jJXUP1ZFpNrdddobRES7QaHIGity

+QYb+aet0D5Cpx+Ygq9+RumEG+j3dd9CrK+r7lMUhejAFYms1NSDXL5g0jjflutM

McWZVMqR+179+PeDl+ykLeVa08zVqIBwn3L16Jpjx/fjsGkPr+rWmpHvMdT6r5lI

IKJhOgqFpF3NMoq2GTXwzrPMxruwXszkUB1NfSJluuG1imNk6hL4IwEpzKN+lcZ2

tDkyc/IGPG9o0O08qgjuQHAoNvK70kRCCqzy9OF8HnKe63n0aX0In0FVGGTIchjm

89/MsGVTKihK+rOyDgCWYhWil9fNhuHt+qdNPXMTvuNkqdDe2XulnN9xkQ8UCXlv

T8GnaBv0GkspgNXABFQ7cvDSSAmrtr+9QvGuEgUOSVvSk8+n5eMOdfD/M4916ezw

Wpo01kgHjptPjpZWveS2spB7VQiNGIEbhU2msmk8ZbQ/F0olzJ/KMWoUgZfl+RLA

5yTlWTEW+dobliWcHLJX/TAyeBICzLU5mPRyE0b3btim9vHVFreC4TWS+sfHiocC

uNvPX0J7XAYvQY188Oq/EbPp8CSRB2Yu0LBS4ilVyooY8tdzVJ2d6aroA4YVSkMe

vM/RZnoLGsezkW+16mP1+TmHAWEk0gLc9BzToHRHI9WJJmv7D+p5XunaeSRSqYro

j8fQK0TrDSvfgHP5Asc1tziRRAUQ1cy9sQV1DUlPGzvRbpQD7RmNJ/yfUt94K2+X

6Vbo9Vgt/iTO9+pjzNRW05HwpkjPajBWNkbze95vSPVFIVhxrtS3tQlEyD26JHw3

6XJvtnOJaRTODUWloIsE7zhDxKk2YhqnlSqfIYzkA3fTGa6lgvIoDyuSv0Ln1g5C

uVwIOK+aag8w5nArZx6vGWulYwILVWEGT40u+GPedWs8

-----END ENCRYPTED PRIVATE KEY-----

E:\RJ\openssl\installed\OpenSSL-Win64\bin>

也可以通过运行以下命令来检查 .p12 文件的密码是否正确:

openssl pkcs12 -nokeys -info -in certificate.p12

   此命令将只显示证书的详细信息,而不会显示私钥信息。

注意:在运行这些命令之前,需要确保已安装 OpenSSL 工具。

7. 结束

现在,已经生成了一个名为certificate.p12的PKCS12文件,其中包含证书和私钥。

注意:

以上步骤仅提供了一个基本的示例。我们可以根据需要进行更多的配置和调整。此外,如果您具有可用的CA证书和私钥,可以使用类似的命令生成PKCS12文件。确保妥善保管和保护您的私钥和证书。

————————————————————

DONE

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。