openssl

    技术2022-07-11  90

    CA(Certificate Authority):颁发数字证书的机构,作为受信任的第三方,承担公钥体系中公钥的合法性校验的责任。CA为每个使用公钥的用户颁发一个数字证书,并且对该证书进行签名。CA自己也拥有一个证书(含公钥),任何人都能得到CA的证书,用来验证CA所签发的证书。

    数字签名:用私钥对某个文件/某段消息的散列值进行加密。验证数据的完整性和是否被篡改。 在通信中,双方每次在写完消息之后,计算消息的散列值,并用自己的私钥加密生成数字签名,附在信件后面 ,接收者在收到消息和数字签名之后,先计算散列值,再使用对方的公钥解密数字签名中的散列值,进行对比,如果一致,就可以确保该消息确实是来自于对方,并且没有被篡改过。

    TLS(Transport Layer Security)传输层安全协议。 SSL(Secure Socket Layer)安全套接字层。 CSR(Certificate Signing Request)证书签名请求,这不是证书,可以简单理解为公钥,生成证书的时候要把这个交给CA。 CRT(Certificate)证书。 X.509是一种证书格式。对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息(包括公钥、姓名、电子邮件、有效期等)。 X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:

    PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN…"开头, "-----END…"结尾,内容是BASE64编码.DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.

    openssl生成证书

    执行openssl genrsa -des3 -out server.key 2048(生成server.key私钥文件) 创建证书请求 req -new -key server.key -out server.csr (其中的common name也就是域名) 删除密码 rsa -in server.key -out server_no_password.key 执行x509 -req -days 365 -in server.csr -signkey server_no_password.key -out server.crt

    使用自签ca证书

    执行openssl genrsa -out ca.key 2048 req -new -x509 -days 365 -key ca.key -out ca.pem (生成ca证书) //生成服务器端证书 genrsa -out server.key 2048 req -new -key server.key -out server.csr x509 -req -sha256 -CA ca.pem -CAkey ca.key -CAcreateserial -days 365 -in server.csr -out server.pem (使用ca证书签名) //生成客户端证书 ecparam -genkey -name secp384r1 -out client.key req -new -key client.key -out client.csr x509 -req -sha256 -CA ca.pem -CAkey ca.key -CAcreateserial -days 365 -in client.csr -out client.pem (使用ca证书签名)
    Processed: 0.009, SQL: 9