使用openssl创建tsa(时间戳)证书 - 在证书中添加extendedKeyUsage

时间:2012-11-11 15:44:12

标签: openssl certificate timestamping

我想为我的时间戳服务创建一个tsa证书。

首先,我创建一个根证书

openssl genrsa -out tsaroot.key 4096 -config openssl.cnf
openssl req -new -x509 -days 1826 -key tsaroot.key -out tsaroot.crt -config openssl.cnf

然后我创建了tsa证书

openssl genrsa -des3 -out tsa.key 4096 -config openssl.cnf
openssl req -new -key tsa.key -out tsa.csr -config openssl.cnf
openssl x509 -req -days 730 -in tsa.csr -CA tsaroot.crt -CAkey tsaroot.key -set_serial 01 -out tsa.crt
openssl pkcs12 -export -out tsa.p12 -inkey tsa.key -in tsa.crt -chain -CAfile tsaroot.crt

在我的openssl.cnf文件中,我添加以下行:

extendedKeyUsage = critical,timeStamping

Howerver,创建的证书似乎不包括extendeKeyUsage(当我尝试用弹性城堡读取它时,我得到了“证书必须具有ExtendedKeyUsage扩展名。”异常

如何生成有效的tsa证书(包含正确的extendedKeyUsage值)?

由于

2 个答案:

答案 0 :(得分:2)

以下工作:

使用内的extendedKeyUsage创建文件extKey.cnf

extendedKeyUsage = critical,timeStamping

创建请求时添加:

openssl x509 -req -days 730 -in tsa.csr -CA tsaroot.crt -CAkey tsaroot.key -set_serial 01 -out tsa.crt -extfile extKey.cnf

答案 1 :(得分:1)

尝试以下方法:

  1. openssl.cnf文件中添加命名部分:

    [v3_tsa]
    extendedKeyUsage = critical,timeStamping
    
  2. tsr生成TSA证书时,添加开关-extensions

    openssl x509 -req ... -extensions v3_tsa