问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

openssl最新配置技巧:搞定SSL.CSR文件

创作时间:
作者:
@小白创作中心

openssl最新配置技巧:搞定SSL.CSR文件

引用
11
来源
1.
https://openssl-library.org/news/changelog/
2.
https://knowledge.digicert.com/solution/best-practices-when-generating-a-certificate-signing-request-csr
3.
https://sslinsights.com/how-to-create-csr-for-wildcard-ssl-with-openssl-commands/
4.
https://knowledge.digicert.com/general-information/openssl-quick-reference-guide
5.
https://launchpad.net/ubuntu/jammy/+source/openssl/+changelog
6.
https://www.uptimia.com/learn/guide-to-openssl
7.
https://support.vector.com/kb?id=kb_article_view&sysparm_article=KB0014855
8.
https://phoenixnap.com/kb/generate-openssl-certificate-signing-request
9.
https://community.letsencrypt.org/t/resolved-various-errors-while-generating-a-csr-not-sure-which-is-better-need-help-finding-a-bug/229267
10.
https://help.oclc.org/Library_Management/EZproxy/EZproxy_configuration/Configure_OpenSSL_directives
11.
https://beaglesecurity.com/blog/vulnerability/tls-openssl-compatibility.html

随着网络安全日益重要,SSL证书已成为网站必备的安全防护措施。而生成SSL证书的第一步就是创建证书签名请求(CSR)。本文将为你详细介绍如何使用openssl工具生成安全可靠的CSR文件,并提供一些实用的配置技巧和安全建议。

01

openssl版本检查与更新

在开始生成CSR之前,首先需要确保你的openssl版本是最新的。你可以使用以下命令检查当前版本:

openssl version -a

这将显示完整的版本信息,包括版本号、发布日期以及编译选项等。例如:

OpenSSL 1.1.1k  25 Mar 2021
built on: Mon Apr  5 11:55:47 2021 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-Ffs9Yq/openssl-1.1.1k=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

确保你的openssl版本至少为1.1.1以上,因为较新版本包含了更多的安全特性和优化。如果需要更新,可以参考官方文档或使用包管理器进行升级。

02

CSR生成最佳实践

生成CSR时,需要提供一些关键信息,这些信息将用于验证你的身份和域名所有权。以下是一些重要的注意事项:

域名信息

  • Common Name(CN):这是你的网站域名,必须是完整的FQDN(Fully Qualified Domain Name)。例如:www.example.com。注意不能包含特殊字符、IP地址、端口号或协议前缀(如http://或https://)。

组织信息

  • Organization Name(O):你的组织或公司名称,必须是合法注册的全称,不能使用缩写或特殊字符。
  • Organizational Unit Name(OU):组织内的部门名称,例如IT部门。
  • Country Name(C):国家代码,使用2字符ISO格式。例如:US代表美国,CN代表中国。可以在nationsonline.org查找具体代码。
  • State or Province Name(ST):所在州或省份的全称,不能缩写。
  • Locality Name(L):所在城市名称,同样不能缩写。

配置文件示例

为了确保所有信息准确无误,建议使用配置文件生成CSR。以下是一个示例配置文件(csr.conf):

[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[dn]
C=US
ST=California
L=San Francisco
O=Example Inc.
OU=IT Department
emailAddress=admin@example.com
CN = www.example.com

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = www.example.com
DNS.2 = example.com

使用以下命令生成CSR:

openssl req -new -config csr.conf -keyout private.key -out domain.csr

这将生成两个文件:private.key(私钥)和domain.csr(证书签名请求)。

03

常见错误与解决方案

在生成CSR过程中,可能会遇到以下问题:

  1. 私钥丢失:私钥是验证身份的重要凭据,一旦丢失将无法完成证书安装。建议在生成后立即备份,并设置适当的权限防止未授权访问。

  2. 信息填写错误:如果CSR中的信息有误,可能导致证书颁发失败。在提交前务必仔细检查所有信息。

  3. 加密算法不支持:确保使用的openssl版本支持所选的加密算法。例如,SHA-256是目前广泛推荐的哈希算法。

04

安全配置建议

为了确保证书的安全性,建议遵循以下配置建议:

  1. 使用强加密算法:推荐使用RSA 2048位或更高级别的密钥长度,以及SHA-256或更安全的哈希算法。

  2. 保护私钥:私钥必须严格保密,建议使用以下命令设置权限:

    chmod 400 private.key
    
  3. 定期更新证书:SSL证书通常有有效期,建议在到期前提前更新,以避免服务中断。

  4. 使用自动化工具:对于复杂的配置,可以考虑使用自动化工具或脚本,以减少人为错误。

通过遵循以上最佳实践和安全建议,你可以使用openssl工具轻松生成安全可靠的CSR文件,为你的网站提供强大的安全保障。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号