You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成带有起止日期的签名证书?附OpenSSL自签名实现步骤

生成带起止日期的自签名令牌签名证书(OpenSSL实操指南)

刚好我对这个流程熟得很,这就帮你把步骤补全,带你用OpenSSL生成符合要求的自签名证书——既能用于令牌签名,还能精准控制起止有效期:

第一步:生成私钥(先带密码再脱密,按需选择)

先搞一个带密码保护的私钥,要是嫌后续用着麻烦,再把密码去掉:

# 生成2048位带密码的RSA私钥,这里临时设密码为x,你换自己的就行
$ openssl genrsa -des3 -passout pass:x -out client.pass.key 2048

# 移除私钥的密码保护,生成无密码的版本(不想脱密就跳过这步)
$ openssl rsa -passin pass:x -in client.pass.key -out client.key

第二步:创建证书签名请求(CSR)

这一步要填点证书的基本信息,比如国家、组织名这些,按提示填就行,**通用名称(Common Name)**建议填你的服务域名或者标识,别乱填:

$ openssl req -new -key client.key -out client.csr

第三步:生成带起止日期的自签名证书(CRT)

重点来了!这里有两种方式设置起止日期:

方式1:按有效期天数设置(简单常用)

用-days参数指定从生成当天开始,往后多少天有效——比如下面设365天,就是1年有效期,起始日是生成当天,结束日自动计算:

# 用SHA256算法签名,生成有效期365天的自签名证书
$ openssl x509 -req -sha256 -days 365 -in client.csr -signkey client.key -out client.crt

方式2:指定精确的起止日期(精准控制)

要是你需要固定某一天开始、某一天结束,就用-startdate和-enddate参数,格式是YYYYMMDDHHMMSSZ(Z代表UTC时间),比如从2024年1月1日到2025年1月1日:

# 指定证书从2024-01-01 00:00 UTC开始,到2025-01-01 00:00 UTC结束
$ openssl x509 -req -sha256 -startdate 20240101000000Z -enddate 20250101000000Z -in client.csr -signkey client.key -out client.crt

第四步:打包成PFX格式(单文件包含私钥+证书)

很多场景(比如Windows服务、某些SDK)需要PFX格式的证书,把私钥和证书打包成一个文件就行,执行后会提示你设置PFX的密码:

$ openssl pkcs12 -export -out client.pfx -inkey client.key -in client.crt

最后:验证证书信息(确保没搞错)

生成完可以查一下证书的起止日期,确认是不是符合你的要求:

$ openssl x509 -in client.crt -text -noout
# 找输出里的「Not Before」(起始日期)和「Not After」(结束日期)字段就行

内容的提问来源于stack exchange,提问作者ubi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:56:25