SSL证书生成(ssl证书生成失败)
当部署环境时,需要SSL证书,这就需要我们生成SSL证书。
SSL证书包含自签名证书和证书机构(CA)颁发的证书,其中自签名证书不会被浏览器或操作系统自动信任,而证书机构颁发的证书则会自动被浏览器信任。
自签名证书的生成步骤
1、生成私钥:
openssl genpkey -algorithm RSA -out private.key
此时会在当前目录下生成一个private.key文件
2、生成CSR
openssl req -new -key private.key -out request.csr
openssl req -x509 -new -key private.key -out certificate.pem -days 365 -subj "/C=US/ST=California/L=San Francisco/O=My Company Inc./CN=example.com"
后面会让输入一些信息:
Country Name (C):国家代码,例如 US。
State or Province Name (ST):州或省的名称。
Locality Name (L):城市名称。
Organization Name (O):组织名称。
Organizational Unit Name (OU):组织单位名称。
Common Name (CN):这是最重要的字段,用于指定你希望保护的域名。例如,如果你希望保护 example.com,就在这里输入 example.com。
Email Address:联系邮箱地址。
Challenge Password:可选,通常留空。
Optional Company Name:可选,通常留空。
后面就会生成一个request.csr证书。
如果你在生成私钥时设置了密码,并且想要去除这个密码(例如,为了让Web服务器自动启动而不需要人工干预),可以运行以下命令:
openssl rsa -in private.key -out nopass_private.key
配置证书
nginx的配置如下:
自签名证书如何被浏览器信任
在Windows 10上配置自签名证书以使其被浏览器信任,你可以按照以下步骤操作。这些步骤将指导你如何将自签名证书导入到Windows的受信任根证书颁发机构存储中,从而让操作系统和依赖于它的应用程序(如Microsoft Edge、Internet Explorer)信任该证书。
步骤 1:准备你的证书
确保你已经生成了自签名证书,并且拥有.crt或.pem格式的文件。如果你有私钥或其他相关文件,请妥善保管它们,因为它们不是直接用于此过程的。
步骤 2:导入证书到Windows
方法 1:使用“管理用户证书”控制台
打开管理用户证书:
按 Win + R 打开“运行”对话框。
输入 certmgr.msc 并按回车键,这将打开“证书 - 当前用户”管理控制台。
导入证书:
在左侧窗格中,展开“受信任的根证书颁发机构”,然后点击“证书”。
右键点击“证书”,选择“所有任务” > “导入...”。
按照“证书导入向导”的提示进行操作,浏览并选择你的自签名证书文件(.crt 或 .pem),然后点击“下一步”。
设置存储位置:
确保选择了“将所有的证书放入下列存储”,并且存储位置为“受信任的根证书颁发机构”,然后点击“下一步”。
完成导入:
点击“完成”按钮来完成导入过程。如果有任何警告信息出现,请仔细阅读并确认无误后继续。
方法 2:双击证书文件
双击证书文件:
直接找到你的.crt或.pem文件,右键点击它并选择“安装证书...”。
按照证书导入向导操作:
选择“本地计算机账户”,你需要管理员权限才能安装到这个位置。
继续按照向导的提示操作,直到到达选择证书存储的步骤。
确保选择了“将所有的证书放入下列存储”,然后点击“浏览”,选择“受信任的根证书颁发机构”。
完成导入:
点击“确定”和“下一步”,最后点击“完成”。
步骤 3:重启浏览器
为了使更改生效,建议关闭所有浏览器实例,然后再重新启动它们。
步骤 4:验证配置
尝试访问使用该自签名证书保护的HTTPS站点。如果一切正常,你应该不会看到任何安全警告,而可以直接访问网站内容。
注意事项
仅限内部使用:这种方法适用于内部网络或开发环境中。对于公共互联网上的服务,应该使用由受信任的证书颁发机构签发的SSL/TLS证书。
安全性:添加自签名证书到受信任的根证书库意味着系统会完全信任该证书,因此只应添加来自可信来源的证书。
撤销证书:如果将来不再需要信任该证书,可以通过相同的方式打开证书管理器,找到该证书并删除它。
通过上述步骤,你应该能够在Windows 10上成功配置自签名证书,并让浏览器信任它。如果你遇到了问题或者需要更详细的帮助,可以参考微软官方文档或寻求专业技术支持。
证书颁发机构有哪些
DigiCert:DigiCert是一家领先的SSL/TLS证书提供商,提供广泛的证书产品和服务,包括OV、EV SSL证书,支持多域名和通配符功能。收购了Symantec、GeoTrust、Thawte和RapidSSL等品牌。
Sectigo(原Comodo CA):Sectigo提供了多种类型的SSL证书,并以快速的签发过程和高性价比著称。服务范围涵盖个人网站到大型企业应用。
GlobalSign:GlobalSign是最早的商业CA之一,提供全面的身份验证解决方案,包括SSL/TLS证书、代码签名证书和其他类型的安全证书。
Entrust Datacard:Entrust提供一系列安全解决方案,其中包括SSL/TLS证书,它有着悠久的历史和良好的信誉。
CFCA(中国金融认证中心):CFCA是中国的国家级权威安全机构,提供符合国际标准的数字证书服务,特别适用于金融服务行业。
Let's Encrypt:Let's Encrypt是一个免费、自动化且开放的证书颁发机构,旨在为全世界的网站提供免费的SSL/TLS证书,促进HTTPS加密传输的普及。
WoSign/沃通:沃通是一家中国本土的CA,提供各种类型的SSL证书以及相关的网络安全解决方案。
TrustAsia:TrustAsia是亚洲地区的一家专业SSL证书品牌,由国际知名CA DigiCert提供基础设施支撑。
Thawte:Thawte曾经是独立运营的CA,现在是DigiCert的一部分,继续以其品牌提供SSL证书。