openssl ecparam -name prime256v1 -genkey -out root.key
上述命令将生成一个 EC 私钥文件 root.key,使用 prime256v1 曲线参数。
创建根证书:
openssl req -x509 -new -key root.key -out root.crt
这条命令使用根证书私钥 root.key 生成自签名的根证书文件 root.crt。
生成私钥
openssl ecparam -name prime256v1 -genkey -out private.pem
生成 EC 证书请求文件:
openssl req -new -key private.pem -sha256 -out certificate.csr
以上命令将生成 EC 私钥文件 private.pem 和相应的证书请求文件 certificate.csr。
签署证书:
openssl x509 -req -in certificate.csr -CA root.crt -CAkey root.key -CAcreateserial -out certificate.crt -sha256
使用根证书 root.crt 和私钥 root.key 签署证书请求文件 certificate.csr,生成签署的证书文件 certificate.crt。
生成带密码的 PKCS#12 文件(p12):
openssl pkcs12 -export -in certificate.crt -inkey private.pem -out certificate.p12
上述命令将证书文件 certificate.crt 和私钥文件 private.pem 导出为带密码的 PKCS#12 文件 certificate.p12。
请注意,上述示例中使用了 EC 曲线参数 prime256v1,你可以根据需要选择其他的椭圆曲线参数。另外,根证书的私钥和证书请求文件的生成只需要执行一次,后续生成的下级证书可以重复使用这些文件进行签署。