生成过程:
1.p10申请后得到:p10文件、sig key、口令
2.将p10文件拿去ca进行申请,会得到:sig cert、enc cert、enc key(存在于数字信封中)
3.随机生成一个对称密钥symmetric key(这个对称密钥是16位的,可能是AES\SM4\SM1\等)
4.symmetric key + enc key  形成 enc key'
5.symmetric key + sig cert 形成 SYM
6.此时数字信封就是下面4个的组合
OID   对称算法ID  
SYM   对称算法密钥(被签名证书公钥加密)
enc cert 加密证书公钥
enc key' 加密证书私钥(被对称算法加密)

另附上数字信封的asn1结构,如下
AlgorithmIdentifier ::= SEQUENCE {
    algorithm       OBJECT IDENTIFIER,
    parameters      ANY DEFINED BY algorithm OPTIONAL
}
SM2EnvelopedKey ::= SEQUENCE {
    symalgid        AlgorithmIdentifier,        -- 对称算法ID
    symalgkey       SM2Cipher,                  -- 对称算法密钥(被签名证书公钥加密)
    asympubkey      BIT STRING,                 -- 加密证书公钥
    asymprvkey      BIT STRING                  -- 加密证书私钥(被对称算法加密)
}
解密过程:
得到enc key即可

数字信封的生成及解析相关推荐

  1. 国密数字证书离线申请流程-国密数字信封解析

    国密数字证书离线申请流程-国密数字信封解析 背景 我们设备本身已经集成了自建CA服务器,并且支持国密/商密,但在实际上线使用过程中发现虽然大多数局点都是仅仅使用国密功能,主要涉及国密证书生成,国密ss ...

  2. C#.NET 国密数字信封 民生银行

    民生银行的库DLL只有C版本和JAVA版本.按着JAVA版本做的C# 实现. 重点内容. 1.数字信封就是 CmsEnvelopedData Der编码后转BASE64 2.重点类:ContentIn ...

  3. sm2格式数字信封加解密详解

    sm2格式数字信封 0.参考链接 密码行业标准化技术委员会http://www.gmbz.org.cn/main/bzlb.html SM2密码算法使用规范http://www.gmbz.org.cn ...

  4. 细说IPSec 密钥交换,(数字证书认证、PSK、数字信封)

    前文介绍IPSec和IKE已经很清晰了,可以查看一张图认识IPSec,区分IKE SA(ISAKMP SA)和IPSec SA. 本文主要介绍在IKE动态协商方式建立IPSec隧道时的基本工作原理. ...

  5. java p7 数字签名,p7结构的数字信封 | 学步园

    PKCS7的数字信封格式分为两种:带签名的数字信封和不带签名的数字信封.由于这个数字信封的生成过程比较复杂,所以这两种格式比较容易记混,导致都搞不清楚一个数字信封里面到底是存储的什么内容了.下面我就详 ...

  6. asp.net 生成、解析条形码和二维码

    asp.net 生成.解析条形码和二维码 原文 asp.net 生成.解析条形码和二维码 一.条形码 一维码,俗称条形码,广泛的用于电子工业等行业.比如我们常见的书籍背面就会有条形码,通过扫描枪等设备 ...

  7. [转]密码技术-实现数字信封和数字签名

    密码技术-实现数字信封和数字签名 转载自:http://hi.baidu.com/king0332/item/ea9b19da597aec17e1f46f5b 数字信封是公钥密码体制在实际中的一个应用 ...

  8. [转]java二维码生成与解析代码实现

    转载地址:点击打开链接 二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字.图片.网址等信息的条码图片.如下图 二维码的特点: 1.  高密度编码,信息容量大 可容纳多达1850个大 ...

  9. java 数字信封_GitHub - zhopen/eos-crypto-java: EOS 公钥加密,私钥解密。基于ECC+AES 实现的双向验证加解密。数字信封的 加解密。...

    /** * * sender * * EOS8g1u3ktAGHs4QsVp9aeaWNebFLtprQHwpaSjegx6iEuoTNhjXU * 5KTZYCDdcfNrmEpcf97SJBCtT ...

最新文章

  1. pythonisodd函数_python3.5|小白入门基础语法之数据结构、函数、迭代,确实简洁...
  2. 由苹果审核悲剧引发的“血案”
  3. Windows环境下Dapr入门
  4. 2020中国社交电商消费者购物行为研究报告
  5. mysql master or master copy
  6. 什么是大数据「实时流计算」?深度解析它的4大应用及4个特点
  7. MobileNet(v1、v2)——CNN经典网络模型详解(pytorch实现)
  8. 五分钟彻底学会iptables防火墙--技术流ken
  9. 关于Yaffs2在u-boot中的支持
  10. 使用.NET框架自带的Json序列化类
  11. jieba 中文分词
  12. VirtualBox安装win10虚拟机
  13. 安装vs2015 、如何创建MFC项目
  14. 百度 李彦宏 2008年在北大毕业典礼的演讲稿
  15. 远程升级单片机程序设计思路
  16. 兴趣 程序猿宅必备超级好看的动漫
  17. Python爬虫 | 手把手教你扒一扒贝壳网成交房源数据
  18. springboot跳转外部链接
  19. 灵州会盟及民族友好历史传统研讨会在吴忠召开
  20. AR家居,随时随地在家“玩装修”!

热门文章

  1. 矩阵的负二分之一次方
  2. cesium离线加载瓦片影像图和DEM高程图
  3. Linux UnixBench跑分的使用
  4. 小白如何成为网络工程师?
  5. Tumblr:150亿月浏览量背后的架构挑战
  6. 字节跳动小程序服务器域名怎么填,字节跳动小程序配置
  7. 文本生成中的PGN网络
  8. job是什么 oracle12c_Oracle 11g自带的系统Job介绍
  9. 关注 Flutter 社区微博账号
  10. openstack-云平台镜像制作-centos-win2k16