最新、最完整、最好的自签证书教程(开箱即用)-奇遇科技博客2021文档/09_self_sign_cert/
虽然我们不经常创建证书(特别是根证书)HTTPS证书仍然很常见),但偶尔我们还是需要创建特殊的自签证书来开发/测试,
最常见的是需要localhost证书。
对于需要mTLS就认证场景而言,我们至少需要创建三个证书和三个公私密钥。根证、服务器端证、客户端证。
注解
本教程不涉及多级证书。
现在让我们开始一步一步地创建自己的签名证书:
准备文件目录结构
警告
实验本教程请创建空目录(文件夹)。
使用以下命令初始化文件夹:
创建根证书
这是教你如何使用它openssl创建自签名证书的过程。
创建根密钥
我们在这里使用RSA4096,因为根证不常用,为了更好的安全,我们使用了更大的参数。
生产环境中通常有中间证书。为了方便,我们省略了中间证书的签发过程
**
创建根证书**
现在我们用新创建的根密钥来创建我们的根证:
重要
建议您使用X509v3扩展。
本文末尾的配置。
请酌情填写有效期或密码学专家的建议。
查看根证书
查看我们刚刚创建的根证:
请确保有X509v3扩展
创建服务器证书
现在让我们用上面创建的根证来创建一个我们可以使用的localhost的https证书。
创建服务器密钥
我们使用2048位RSA因为服务器证书经常使用,可以减少CPU压力不影响安全。
生成服务器端证书请求文件
请求文件中的国家和省份应与根证一致(以确保最大兼容性)。
这通常被称为生成CSR文件
查看服务器端请求文件
确保生成CSR文件包含以下信息,否则访问可能是错误的。
X509v3SubjectAlternativeName:DNS:localhost,DNS:127.0.0.1,DNS:::1
警告
许多人生成的证书不能使用,通常是因为没有附带证书X590v扩展字段3。
例如,如果你想通过它https访问localhost在CSR确保有请求DNS:localhost
生成服务器端证书
事实上,使用根证书签署服务器证书
查看服务器端证书
需要确保X590v3扩展里面有DSN:localhost若要访问
创建客户端证书
以下是创建客户端证书的过程,假如你不需要mTLS(双向认证)可以忽略。
生成客户端密钥
生成客户端证书请求文件
生成客户端证书
查看客户端证书
客户端生成p12文件
一般客户端使用p12文件,方便用户导入导出。
请不要在实际使用中导出无密码保护的文件。
请不要在实际使用中导出无密码保护的文件。
结论
完成上述流程后,您的自签名证书已创建。以后只需要根据自己的需要添加新的服务器端证书和客户端证书。
以上教程仅适用于当地开发环境(或其他情况下)。请从权威机构购买证书或寻求密码专家的帮助。
使用上述代码会导致任何问题,上述内容本身忽略了安全领域的最佳实践)。
现在让我们来看看完成上述流程的目录结果:
其中:
.gitignore
Makefile
文件可以忽略,而不是上述命令生成的内容。
从以上结果我们可以知道,我们
在private目录对应根证书(ca)、服务器端证书(localhost)、客户端证书(client))
生成3个证书文件certs目录,根证分别对应(ca)、服务器端证书(localhost)、客户端证书(client))
在csr目录对应服务器端证书请求(localhost)、请求客户端证书(client))
其他文件都是由openssl用户管理的自动生成。
福利
看完上面的教程,是头还是晕,对于如何生成自己的根证、服务器端证、客户端证还是有些迷茫,
这都没关系.
保存下面的Makefile文件到空目录:
然后你可以愉快地使用它make命令生成自己的自签证书。
当然,配置也不能少:
这份文件需要保存`并且和Makefile`同一目录下的文件。
当然,配置也不能少:
这份文件需要保存`并且和Makefile`同一目录下的文件。
文晓章毕业证书签名及最新、最完整、最好的自签证书教程开箱即用的主要内容已经完成!
毕业证样本网创作《文晓章毕业证书签名(最新、最完整、最好的自签证书教程即用)》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/671783.html