- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 基于OpenSSL,实现C语言SM2的PKCS8的公私钥编码
在自己的学习过程中,可以参考网络中,自己创建一个CA中心,自己产生一个证书请求,自己用CA中心颁发一个自签名的证书,这样在验证过程中,就可以验证此证书了。下面我将给出针对C语言产生P10的实例。在接触密码学中,就会涉及到证书,我们在虚拟网络中产生信任,就要有一个信任源,而在密码层面,信任源就是颁布证书的认证中心,从而,证书就是我们可以相信的虚拟对象。在日常工作中使用密码,就一定会接触到OpenSSL,这个算法库带给我们的东西太多太多,不管是密码算法层面,还有代码框架和使用技巧上更是值得我们去学习和专研。
2023-04-26 15:19:04
889
原创 基于OpenSSL,实现C语言RSA的PKCS8的公私钥编码
在自己的学习过程中,可以参考网络中,自己创建一个CA中心,自己产生一个证书请求,自己用CA中心颁发一个自签名的证书,这样在验证过程中,就可以验证此证书了。下面我将给出针对C语言产生P10的实例。在接触密码学中,就会涉及到证书,我们在虚拟网络中产生信任,就要有一个信任源,而在密码层面,信任源就是颁布证书的认证中心,从而,证书就是我们可以相信的虚拟对象。在日常工作中使用密码,就一定会接触到OpenSSL,这个算法库带给我们的东西太多太多,不管是密码算法层面,还有代码框架和使用技巧上更是值得我们去学习和专研。
2023-04-26 14:53:18
510
原创 基于OpenSSL,实现C语言RSA的PKCS10的证书请求
在自己的学习过程中,可以参考网络中,自己创建一个CA中心,自己产生一个证书请求,自己用CA中心颁发一个自签名的证书,这样在验证过程中,就可以验证此证书了。这里的证书请求就是PKCS10,简称为P10。在接触密码学中,就会涉及到证书,我们在虚拟网络中产生信任,就要有一个信任源,而在密码层面,信任源就是颁布证书的认证中心,从而,证书就是我们可以相信的虚拟对象。具体调用方式如下,我添加了一些注释,便于理解,这里在使用RSA做签名和验签时不同于SM2,RSA在签名验签入参时,需要先对源数据进行hash计算。
2022-10-27 15:49:05
1099
1
原创 基于OpenSSL,实现C语言SM2的PKCS10的证书请求
在自己的学习过程中,可以参考网络中,自己创建一个CA中心,自己产生一个证书请求,自己用CA中心颁发一个自签名的证书,这样在验证过程中,就可以验证此证书了。这里的证书请求就是PKCS10,简称为P10。在接触密码学中,就会涉及到证书,我们在虚拟网络中产生信任,就要有一个信任源,而在密码层面,信任源就是颁布证书的认证中心,从而,证书就是我们可以相信的虚拟对象。,这个算法库带给我们的东西太多太多,不管是密码算法层面,还有代码框架和使用技巧上更是值得我们去学习和专研。具体调用方式如下,我添加了一些注释,便于理解,
2022-10-27 10:36:19
1607
5
原创 基于OpenSSL,实现SM2密文数据的ASN1编码转换
在实际应用场景中会遇到ASN1数据的编码转换,如,在硬件密码库中使用的API接口和在OpenSSL中使用的接口,很有可能是两种格式数据的表现形式,因此,本文提供以下方式进行数据格式的转换。由于SM2密文格式分为C1C3C2和C1C2C3两种格式,所以在OpenSSL中并没有提供定义的ASN1编码结构和相关函数的定义,因为,需要用户自己定义ASN1编码的结构体。...
2022-08-27 16:06:03
2306
3
原创 基于OpenSSL,实现SM2签名数据的ASN1编码转换
在实际应用场景中会遇到ASN1数据的编码转换,如,在硬件密码库中使用的API接口和在OpenSSL中使用的接口,很有可能是两种格式数据的表现形式,因此,本文提供以下方式进行数据格式的转换。
2022-08-27 15:22:56
2504
1
原创 SM2公私钥的格式转换
在硬件密码库中使用的API接口和在OpenSSL中使用的接口,很有可能是两种格式数据的表现形式,因此,本文提供以下方式对SM2公私钥数据格式的转换。以下是经过整理后的SM2密钥对的格式转换,没有使用OpenSSL的函数库。SM2的公私钥格式转换非ASN1编码。..................
2022-08-27 13:47:15
2281
原创 基于OpenSSL,实现RSA公私钥的ASN1编码转换
在硬件密码库中使用的API接口和在OpenSSL中使用的接口,很有可能是两种格式数据的表现形式,因此,本文提供以下方式进行数据格式的转换。
2022-08-26 19:05:25
987
原创 基于OpenSSL,实现RSA签名使用的hash的ASN1编码转换
在实际应用场景中会遇到ASN1数据的编码转换,如,在硬件密码库中使用的API接口和在OpenSSL中使用的接口,很有可能是两种格式数据的表现形式,因此,本文提供以下方式进行数据格式的转换。在非对称密钥算法运算中,因为公私钥的特殊使用,会产生签名的场景,在做签名时,只是为了证明身份,而非保护数据,所以在签名时,是对数据的哈希进行签名。二进制转为ASN1编码。ASN1编码转为二进制。..............................
2022-08-26 14:17:28
592
原创 AES在OpenSSL的使用和ENGINE算法替换
从接触密码到现在,感触颇深。刚开始因为工作需要,自己学习OpenSSL和使用密码卡,作为密码界的新人,完全无处下手,OpenSSL代码又特别多,最困惑的就是函数入口在哪里?我需要包含什么头文件?怎样才能真正的调用对应的算法。所有的东西都需要从零开始,最初的代码只为了功能,毫无深度可言。现在回头来看,当时实在太年轻!在日常工作中使用密码,就一定会接触到OpenSSL,这个算法库带给我们的东西太多太多,不管是密码算法层面,还有代码框架和使用技巧上更是值得我们去学习和专研。本专栏订阅后可查看以下文章。......
2022-08-01 13:58:33
338
原创 RSA在OpenSSL中的使用和ENGINE算法替换
从2020年接触密钥到现在,感触颇深。刚开始的一年因为工作需要,自己专研OpenSSL和密码卡,作为密码界的新人,所有的东西都需要学习。在日常工作中使用密码,就一定会接触到强大的OpenSSL,这个算法库带给我们的东西太多太多,不管是密码算法层面的,还有代码框架和使用技巧上更是值得我们去学习和专研。.............................................
2022-07-27 18:03:07
702
原创 GMT 0009-2012数据格式-GO语言操作
SM2椭圆曲线密码算法(以下简称SM2)是国家密码管理局批准的一组算法,其中包括SM2-1椭圆曲线数字签名算法、SM2-2椭圆曲线密钥协商协议、SM2-3椭圆曲线加密算法。0009-2012标准的目标是保证SM2使用的正确性,为SM2密码算法的使用制定统一的数据格式和使用方法。本文主要介绍ASN1对;;;等四中类型。前三种都比较容易实现,本文主要介绍密钥对保护数据的封装和解析!!!.........
2022-07-21 13:30:58
1012
原创 Golang-PKCS8
PKCS8:全名《Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification》,从名称可以看出它是一个专门用来存储私钥而定义的格式规范。个人理解:PKCS1只定义了对RSA密钥的编码规范,而PKCS8则可以对范围更大的私钥进行编码!!!本章内容只列举RSA和SM2两种类型的密钥编码。2、解码二、私钥1、编码2、解码...
2022-07-06 15:04:58
1149
原创 Golang-PKCS1
PKCS1:全名《Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications》最新版本2.2 ,从名称上可以看出它是针对RSA算法的一个规范。里面包含了RSA加密、解密、签名验签等所有的内容,当然也包含了私钥的格式。因为PKCS1只是针对RSA的一个规范,所以,PKCS1填充也是针对RSA加解密的填充。在开源库中并没有PKCS1填充的函数封装。因此,本人在加解密算法中提取了填充代码封装了函数。2、UnPadd
2022-07-06 14:39:22
703
原创 GO语言-gox交叉编译
最近在工作中使用GO语言进行编码开发,因为项目中的环境时arm64,所以总是需要交叉建议,在arm下才能正确运行,GO语言还是非常强大的,在windows下就可以交叉编译各个环境的二进制文件,Gox是Go交叉编译的一种简单,简洁的工具,其行为类似要安装Gox,请使用。我们标记版本,因此可以随时签出该标记并进行编译。安装成功后会生成gox命令行,使用gox --help二、使用使用命令gox --osarch-list可以查看默认的编译环境,如下为显示的部分内容。如果想指定一个环境进行编译,则
2022-07-05 13:02:05
1378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人