1. 生成私钥

首先,我们需要使用openssl工具生成一个私钥,私钥是证书的核心部分,用于证书的签名和加密。

使用以下命令生成2048位RSA私钥:

openssl genpkey -algorithm RSA -out mykey.pem -aes256

这里使用了AES256对私钥进行加密,可以根据需要选择其他加密算法。在生成私钥时,会要求输入一个密码来保护私钥,这个密码需要牢记,因为后续处理证书时需要使用到。

  1. 生成证书请求

接下来,我们需要使用生成的私钥生成证书请求,并填写相关信息,比如组织名称、国家、城市等。

使用以下命令生成证书请求:

openssl req -new -key mykey.pem -out myreq.csr

在生成证书请求时,需要填写一些信息,如下所示:

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:mycompany.com
Email Address []:

这里我们使用了CN作为国家代码,Beijing作为省份,北京作为城市,MyCompany作为组织名称,mycompany.com作为通用名称。

  1. 生成自签名证书

生成证书请求后,我们需要使用该请求生成自签名证书,自签名证书可以用于测试和内部使用,但不被公共信任机构所信任。

使用以下命令生成自签名证书:

openssl x509 -req -days 365 -in myreq.csr -signkey mykey.pem -out mycert.pem

这里使用了365天的有效期,可以根据需要进行调整。

  1. 签名实验文档

生成自签名证书后,我们可以使用该证书对自己的实验文档进行签名,以证明该文档的完整性和真实性。

使用以下命令对实验文档进行签名:

openssl smime -sign -in mydoc.docx -out mydoc.sig -signer mycert.pem -inkey mykey.pem

这里使用了mydoc.docx作为待签名文档,mydoc.sig作为签名后的文件。签名时使用了mycert.pem作为证书文件,mykey.pem作为私钥文件。

  1. 验证签名

签名完成后,我们可以使用以下命令对签名进行验证:

openssl smime -verify -in mydoc.sig -inform DER -content mydoc.docx -noverify

这里使用了mydoc.sig作为签名文件,mydoc.docx作为原始文档,-noverify参数表示不进行证书验证,因为我们使用的是自签名证书,不被信任机构所信任。

如果签名验证通过,则会输出”Verification successful”信息,表示该文档的完整性和真实性得到了保证。

以上就是制作自己的X.509证书并签名实验文档的全部过程,希望对大家有所帮助

制作自己的X509证书记录全部过程并使用该证书对自己的实验文档签名

原文地址: https://www.cveoy.top/t/topic/cTxa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录