mbedTLS生成客户端,服务端密钥及CA证书
1. mbedTLS源码:https://github.com/Mbed-TLS/mbedtls.git
2. 生成步骤:
2.1 编译上述源码
2.2 生成CA私钥和自签名证书:
进入编译的build目录,比如:/mbedtls-development/build#
2.2.1生成CA私钥
执行下面的命令:
./programs/pkey/gen_key type=rsa rsa_keysize=4096 filename=ca.key format=pem
参数说明:
type = rsa : 指定生成RSA密钥
rsa_keysize=4096: 设置RSA密钥长度为4096位
filename=ca.key: 指定输出文件名为ca.key
format=pem: 指定输出格式为PEM
2.2.2 生成自签名证书
./programs/x509/cert_write subject_key=ca.key output_file=ca.crt subject_name="CN=My Root CA,O=My Organization,C=US" issuer_name="CN=My Root CA,O=My Organization,C=US"
参数说明:
subject_key=ca.key: 指定要使用的私钥文件
output_file=ca.crt: 指定输出的证书文件名
subject_name: 定义证书的主题信息,可以根据你的需要修改。这里的例子使用了 "My Root CA" 作为主题名称
issuer_name: 因为这是一个自签名证书,所以签发者信息和主题信息相同
2.3 生成服务端私钥证书和证书签名请求(CSR)
2.3.1 生成服务端私钥
./programs/x509/cert_req filename=server.key output_file=server.csr subject_name="CN=server,O=My Organization,C=US"
参数说明:
filename=server.key: 指定生成CSR时使用的私钥文件。
output_file=server.csr: 指定输出的CSR文件名。
subject_name: 定义CSR中的主题信息。
2.3.2 生成服务器的CSR(证书签名请求)
./programs/x509/cert_req filename=server.key output_file=server.csr subject_name="CN=server,O=My Organization,C=US"
参数说明:
filename=server.key: 指定用于生成CSR的私钥文件。 output_file=server.csr: 指定输出的CSR文件名。 subject_name="CN=server,O=My Organization,C=US": 指定CSR中的主题信息
待续。。。。