相关概念

国密证书

  • 国密的双证书体系,将证书按照使用目的的不同划分为加密证书和签名证书两种,也就是两对公私钥,二者本质一致,均为SM2密钥对,区别仅体现在用法
  • 国密CA体系中,加密密钥对由CA产生,签名密钥对由用户自己产生,那么加密密钥涉及到的 私钥是如何通过安全的方式由CA传递到用户侧呢?使用数字信封的机理;
  • 从道理上来说两个密钥具有不同的属性,逻辑上应该分开处理。其实最主要的原因是国家要保证必要的时候有能力对某些通讯进行监控,如果采用单证书,除了自己谁也无法解密(理论上如此),不利于国家安全。因此某些国家法律规定使用双证书。如果拥有加密证书的私钥,可以进行实时监控。

加密证书和私钥的生成过程

  • 用户产生签名密钥对,生成签名证书的请求(p10数据),发送签名证书给CA
  • CA验证用户的签名密钥对,产生加密证书和private.data(加密私钥的密文)
  • private.data的生成过程
    • CA生成对称密钥,使用用户的签名公钥加密对称密钥,生成对称秘钥的密文
    • CA使用对称密钥对称加密 与加密证书所对应的私钥,输出加密私钥的密文
    • CA将加密证书、对称密钥密文和加密私钥的密文 返还给 用户,其中一般将对称密钥密文和加密私钥的密文混合在一起,形成单一文件,统称为P10数据
  • 用户使用签名私钥解密对称密钥的密文得到对称密钥
  • 用户使用对称密钥解密加密私钥密文,得到加密私钥的明文

国标文档

  • GMSSL - 国密SSL实验室

    • 智能密码钥匙密码应用接口规范
    • 智能密码钥匙密码应用接口数据格式规范

相关函数接口

  • 省去了前提函数,比如连接设备、创建应用、创建容器等

  • 受保护的加密密钥对??研究

两种思路(未确定可行性)

  • 核心问题:私钥的存储格式?key?
  • 当时使用吉大正元的PKI进行证书导入的时候,一键导入过程中USBKey和PKI二者的工作是什么呢?结合SKF接口来看,很有可能USBKey首先使用生成ECC签名密钥对(GenECCKeyPair),然后PKI侧生成签名证书,USBKey使用(ImportCertificate)先导入签名证书;然后PKI再次生成加密私钥和加密证书,USBKey使用导入ECC加密密钥对(ImportECCKeyPair),再使用(ImportCertificate)导入加密证书。
  • 但是PKI对外是不提供私钥的导出,私钥只能是以private.data的密文形式存在
  • 或者,加上生成private.data以及解密private.data推导加密私钥这一步,但是感觉这样比较繁琐

吉大正元(可行性大)

  • 本地使用openssl生成一个sm2的私钥,并生成req请求(p10数据),将其作为申请书内容,进行证书的下载_MY CUP OF TEA的博客-CSDN博客_openssl生成p10
  • 按照 加密证书和私钥的生成过程 的完整流程严格执行,得到所有的文件
    • 签名私钥 签名公钥 签名证书
    • 加密私钥 加密公钥 加密证书

偷奸取巧(可行性低)

  • 本地生成CA,分别生成签名和加密两套提下的相关文件,即私钥、公钥、证书等
  • 在申请证书的阶段,将相关字段设置成一致的,是否从逻辑上将其划分为签名和加密?
  • 然后USBKey直接导入两对私钥和证书
  • **感觉不可行,毕竟从skf接口来看,签名私钥只能由USBKey内部产生,加密私钥和加密证书是通过和PKI进行协商生成的(欧待解决)

自我理解(存疑)

  • 签名证书是需要PKI里面的CA生成的,生成时需要填入的参数是基于客户端生成的P10申请
  • 意味着,签名 和 加密 两组密钥均对应同一个 P10申请
  • 生成ECC签名密钥对(GenECCKeyPair);导入ECC加密密钥对(ImportECCKeyPair);分别导入不同类型(签名/加密)的证书(ImportCertificate);但是不知道思路是否正确;需要进一步确认:1,证书导入,除了导入证书,还存储其余的数据是什么?也就是私钥的存储格式,以key 还是 private.data 的形式存储;感觉是key,毕竟签名阶段没有涉及到private.data,private.data只是对传输加密私钥的保护

参考链接

  • USBKEY全解析---证书导入(java)_liujoi的博客-CSDN博客_usbkey证书
  • 国密gmtls协议-双证书体系的服务端和客户端通信代码_MY CUP OF TEA的博客-CSDN博客_gmtls

往USBKey里面导入双证书专题:概念介绍、执行逻辑相关推荐

  1. 解决https JDK导入安全证书

    目前在研究cas sso相关的搭建知识.开始便是关于HTTPS安全证书的一些问题,简单说一下本文的目的:安全证书的生成,jdk导入安全证书. 先说自己定义的域名 编辑文件 C:\Windows\Sys ...

  2. 国密SSL协议之双证书体系

    1 背景 国密SSL协议使用双证书体系.本文描述了国密双证书体系的组成和差别,并描述了在U盾里面的使用情况. 2 国密SSL双证书 国密SSL协议使用双证书体系,分别称为签名证书和加密证书,服务器和用 ...

  3. 构建用于签名/加密双证书测试体系的可执行命令

    注意事项 生成证书请求的填写 范例 Subject: C = CN, ST = Beijing, L = Beijing, O = MSI, OU = msi, CN = ca, emailAddre ...

  4. 【ssl认证、证书】SSL 证书基本概念、证书格式、openssl和keytool的区别

    文章目录 1. keytool VS openssl 2. X.509 VS PKCS 2.1 PKCS 2.2 X.509 2.2.1 证书编码格式 2.2.1.1 DER 证书编码格式二进制 2. ...

  5. 公钥和私钥怎么生成_有趣图文帮你通俗易懂地理解公钥和私钥的区别以及与CA证书等概念...

    导读:Linux系统上非对称性加密需要用到公钥.私钥.也常涉及到数字签名.数字证书.CA证书等概念.本文通过有趣的海绵宝宝和它小伙伴故事搭配有趣的图片形式来阐述这些概念,希望能帮助读者更简单易懂地理解 ...

  6. 全国信息化工程师院校IT双证书职业课程认证

    一.背景介绍 自从2001年NCIE项目设立以来,致力于教育培训领域的技术和理论研究,以"Career Building"为核心理念,在教育领域协同高校.知名科研院所.大型人力资源 ...

  7. 使用SHA1、SHA2双证书进行微软数字签名

    微软是第一个宣布了SHA-1弃用计划,在2016年之后Windows和IE将不再信任SHA-1证书.正好我们公司的数字签名也到期了,索性就重新申请了sha256和sha1的新数字证书,用来给产品签名. ...

  8. hbuilder ios 打包失败,无法导入p12证书的解决方案

    问题描述: 在profile描述文件和私钥证书通过hbuilder ios 打包成功过的前提下,突然遇到打包失败的问题,问题详情是无法导入p12证书. 探索过程: 本着遇到问题先自省的态度,重复打包了 ...

  9. PKI/CA (6)双证书

    1. 单证书 一套公私钥, 私钥由用户自己保存,CA中心不保存,只对用户公钥发证书 Problem:政府机构无法监管(由于没有私钥,无法解密消息) 2. 双证书 两套公私钥 验签消息的那套私钥由用户自 ...

最新文章

  1. 浙师大dns服务器地址
  2. 虚拟机克隆_了解Java中的可克隆接口
  3. OpenStack collectd的从零安装服务端
  4. 网络嗅探混杂模式与非混杂模式的区别
  5. 【C++】44.使用xx.so动态链接库
  6. 新一代垃圾回收器ZGC的探索与实践
  7. 2022年全球及中国医用口服硫酸钡行业规模格局与市场需求展望报告
  8. 单源最短路径(spfa)
  9. Android 使用Listview的优化
  10. C语言程序设计基础之结构
  11. 数据结构与算法(updating....)
  12. 如何裁剪、合并视频?
  13. 计算机应软件与理论学什么,计算机软件与理论
  14. python获取当前路径的方法
  15. mac的obs录制不到全屏
  16. 谷歌浏览器提示应用程序无法启动
  17. 英语面试自我介绍范文
  18. ios13 微信提示音插件_ios13微信提示音如何进行更改
  19. Aurora核使用中tx_dst_rdy信号拉低问题(续)
  20. IDEA项目切换分支异常

热门文章

  1. 荣耀magic2可以更新鸿蒙吗,荣耀magic watch2系统再升级:增加了好多功能
  2. 记录第一次用git上传代码到gitee
  3. 用c语言编写输出第二个整数的算法
  4. SSM项目遇到的问题(1)
  5. VIM安装YCM插件的详细步骤
  6. Windows10 配置 Android SDK 环境变量
  7. Xilinx 高速AD 设计参考(在网上找到的总结)
  8. vue 遍历对象和遍历对象数组
  9. Twemproxy 介绍与使用
  10. 动漫培训学校排行榜(最新)