HTTPS - 自认证根证书CA生成/签发/发布


即使是非对称加密系统,也不能保证公钥的分发是可靠的. 为了防范公钥分发过程中的中间人攻击,需要一个可信的"始祖"公证人,这就是CA机构存在的意义.

由CA签发证书认证网站的过程

  1. CA机构生成密钥对: 公钥 ca.cer 和 私钥 ca.key
  2. 浏览器/操作系统携带证书ca.cer
  3. 网站生成私钥 cert.key
  4. 网站将公钥及网站信息(域名/组织等),提交给CA机构
  5. CA机构使用私钥ca.key签发网站证书cert.cer
  6. 网站运营商通过cert.key和 cert.cer运行https
  7. 用户访问网站,获得cert.cer,由于该证书使用CA机构的私钥签发,因此可以通过保存在本地的公钥ca.cer验证
  8. 验证通过并得到了公钥-> 显示绿色https标志; 否则,提示用户风险信息
  9. 用户通过公钥与网站服务器交换对称加密密钥,进行正式的SSL会话

通过上述步骤可以看出,只要能保证网站公钥的可靠性即可,所以如果客户端直接存放了网站的证书,那么也是可以保证https正常进行的.
但是无论是何种证书,都需要可靠的分发到客户端才能保证安全.在开发过程中我们可能有各种各样的服务端,相较于为每一个服务端向客户端分发证书,还不如直接分发根证书,这样只需一次分发,客户端就可以完成后续的签发过程.

自认证CA根证书生成及签发

证书生成过程可以通过openssl完成.为了简化操作,我写了一个shell脚本,只需两步即可生成根证书及使用根证书签发网站证书
保存以下代码为gen_crt.sh,然后按照帮助内容使用即可.

  1. 生成根证书
    ./gen_crt.sh root aes128 2048 365 "/CN=MyCA"

    此时目录下有ca.key及ca.cer两个文件,ca.cer需要发布到客户端
    为了保证私钥的安全,生成过程中需要一个对ca.key加密的密码

  2. 签发网站证书
    ./gen_crt.sh sign aes128 2048 365 "/CN=www.mysite.com" ca.key ca.cer

为了保证私钥的安全,生成过程中需要一个对cert.key加密的密码.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 国密CA生成签发涉及到应用数据国密加密、签名和解密。国密CA是国密算法的证书颁发机构,负责颁发和管理数字证书,确保数据的安全性和可信度。 首先,生成国密CA需要遵循相关的标准和规范。证书颁发机构需要进行身份验证,确保其具备发放数字证书的资质和能力。生成国密CA时还需要选择合适的国密算法,如SM2、SM3和SM4等,以保证数据的加密和签名安全。 生成国密CA后,可以开始应用数据的国密加密、签名和解密。在使用国密算法进行加密时,首先需要生成一对密钥,包括一个公钥和一个私钥。公钥用于加密数据,私钥用于解密数据。通过使用SM2算法对数据进行加密,可以保证数据的机密性和安全性。 对数据进行签名时,需要使用私钥对数据进行加密,并生成数字签名。通过使用SM2算法进行签名,可以确保签名的准确性和不可篡改性。签名后的数据可以与数字证书一起传播,用于证明数据的完整性和来源可靠性。 当接收方收到加密或签名数据后,使用相应的公钥进行解密或验证。使用SM2算法进行解密和验证,可以保证数据的解密正确性和签名的有效性。只有持有正确的私钥才能解密数据,只有正确的公钥能够验证签名。 总之,国密CA生成签发涉及到应用数据的加密、签名和解密。通过使用国密算法,可以保证数据的机密性、完整性和可信度。这些安全机制的应用使得数据传输和存储更加安全可靠。 ### 回答2: 国密CA(中国密码局认证中心)是由中国密码局授权的可信机构,负责国密算法下的数字证书生成签发。国密算法是中国自主研发的一种密码算法,用于保护数据的加密、签名和解密。 国密CA首先会生成一个证书,该证书包含了国密算法所需的公钥和私钥等信息。证书的私钥需要妥善保管,以确保证书的安全性。 在使用国密CA生成证书时,首先需要生成证书请求CSR(Certificate Signing Request)。CSR包含了证书的一些基本信息,比如需签发证书的名称、密钥等。CSR由应用程序生成后,发送给国密CA。 国密CA收到CSR后,会对其进行验证,并使用证书的私钥进行签名。签名后的证书会包含申请者的公钥以及其他相关信息,比如证书的有效期等。国密CA签发证书进行数字签名,以保证证书的真实性和完整性。 当应用程序需要进行数据的国密加密、签名或解密时,首先需要将数据进行相应的处理,然后使用证书中包含的公钥进行加密或签名操作。对于解密操作,则需要使用证书中对应的私钥进行解密。 国密CA生成签发过程保证了数字证书的可信和安全。应用程序可以通过使用国密算法下的证书实现数据的加密、签名和解密,确保数据的安全性和完整性。国密算法在国内得到了广泛的应用和认可,对于保护数据的安全非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值