制作自己的X509证书记录全部过程并使用该证书对自己的实验文档签名
- 生成私钥
首先,我们需要使用openssl工具生成一个私钥,私钥是证书的核心部分,用于证书的签名和加密。
使用以下命令生成2048位RSA私钥:
openssl genpkey -algorithm RSA -out mykey.pem -aes256
这里使用了AES256对私钥进行加密,可以根据需要选择其他加密算法。在生成私钥时,会要求输入一个密码来保护私钥,这个密码需要牢记,因为后续处理证书时需要使用到。
- 生成证书请求
接下来,我们需要使用生成的私钥生成证书请求,并填写相关信息,比如组织名称、国家、城市等。
使用以下命令生成证书请求:
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作为通用名称。
- 生成自签名证书
生成证书请求后,我们需要使用该请求生成自签名证书,自签名证书可以用于测试和内部使用,但不被公共信任机构所信任。
使用以下命令生成自签名证书:
openssl x509 -req -days 365 -in myreq.csr -signkey mykey.pem -out mycert.pem
这里使用了365天的有效期,可以根据需要进行调整。
- 签名实验文档
生成自签名证书后,我们可以使用该证书对自己的实验文档进行签名,以证明该文档的完整性和真实性。
使用以下命令对实验文档进行签名:
openssl smime -sign -in mydoc.docx -out mydoc.sig -signer mycert.pem -inkey mykey.pem
这里使用了mydoc.docx作为待签名文档,mydoc.sig作为签名后的文件。签名时使用了mycert.pem作为证书文件,mykey.pem作为私钥文件。
- 验证签名
签名完成后,我们可以使用以下命令对签名进行验证:
openssl smime -verify -in mydoc.sig -inform DER -content mydoc.docx -noverify
这里使用了mydoc.sig作为签名文件,mydoc.docx作为原始文档,-noverify参数表示不进行证书验证,因为我们使用的是自签名证书,不被信任机构所信任。
如果签名验证通过,则会输出”Verification successful”信息,表示该文档的完整性和真实性得到了保证。
以上就是制作自己的X.509证书并签名实验文档的全部过程,希望对大家有所帮助
原文地址: https://www.cveoy.top/t/topic/cTxa 著作权归作者所有。请勿转载和采集!