OpenSSL命令包含" basicConstraints"延期

时间:2015-11-30 10:18:22

标签: ssl openssl

使用以下openssl命令生成证书:

openssl req -new -x509 -keyout server.key.pem -out server.crt.pem -config /etc/ssl/openssl.cnf  -extensions cust_const

使用以下命令生成相应的CSR:

openssl x509 -x509toreq -in server.crt.pem -signkey server.key.pem -out server.csr -extensions cust_const

conf文件(openssl.cnf)具有以下提到的条目。

[ cust_const ]

basicConstraints       = CA:FALSE

问题是生成的CSR不包含basicConstraints扩展名。

当我们已经拥有basicConstraints的证书时,如何将basicConstraints纳入CSR?

1 个答案:

答案 0 :(得分:0)

当你想要创建一个由其他CA签名的CSR时,他也会“创建”你的CA(例如,root将在中间签名为CA,其中depthLen = 1,其中middle将签署endPoint为CA =假...)

首先你需要了解你想做什么(root / intermediate / Endpoint)

如果您是root创建扩展文件(查找openssl默认帮助...)

下面的短列表命令可帮助您入门:

create root ca certificate
    openssl genrsa -des3 -out rootca.key 2048
    openssl rsa -in rootca.key -out rootca.key.insecure
    openssl req -key rootca.key.insecure -new -x509 -days 3650 -extensions v3_ca -out rootca.crt
    openssl x509 -text -in rootca.crt
    NOTE:
        it uses the default extensions file: /usr/lib/ssl/openssl.cnf (or /etc/ssl/openssl.cnf)
create intermediate certificate
    openssl genrsa -des3 -out intermediate.key 2048
    openssl rsa -in intermediate.key -out intermediate.key.insecure
    openssl req -new -key intermediate.key.insecure -out intermediate.csr
        NOTE: you might need these commands before the next command 'openssl ca'.
            mkdir demoCA
            touch demoCA/index.txt
            echo 1122334455667788 > demoCA/serial
    openssl ca -extensions v3_ca -days 3650 -outdir . -batch -cert rootca.crt -keyfile rootca.key.insecure -in intermediate.csr -out intermediate.crt
        NOTE: after run 'openssl ca' you can remove the demoCA folder
            rm -rf demoCA
    openssl x509 -text -in intermediate.crt
    openssl verify -CAfile rootca.crt intermediate.crt
create server/client certificate
    openssl genrsa -des3 -out server.key 2048
    openssl rsa -in server.key -out server.key.insecure
    openssl req -new -key server.key.insecure -out server.csr
    openssl x509 -req -days 3650 -CAcreateserial -CA intermediate.crt -CAkey intermediate.key.insecure -in server.csr -out server.crt
    openssl x509 -text -in server.crt