X509证书中RSA公钥的提取与载入
原文链接: http://blog.chinaunix.net/uid-16515626-id-2741894.html
EVP_PKEY_assign_RSA
X509_set_pubkey
便可以轻松搞定从密钥产生到载入证书的过程,而提取证书公钥只需
X509_get_pubkey
如何将16进制形式的rsa公钥载证书的却没有相关介绍,经过几天的研究终于搞定了,贴出来与大家分享,我们可以利用下面的函数
RSA* d2i_RSAPublicKey(NULL,(const unsigned **) pp,int len)
其中*pp指向存储公钥的内存单元,len指公钥的长度,请注意这里的公钥是指经过ASN.1编码的公钥,关于此编码方法,要想全面阐述是相当复杂的,但如果仅限于编rsa公钥,则会简单很多,以下是1024位rsa公钥的ASN.1编码的十六进制描述,共占据140bytes:
30 81 89 02 81 81 00 e3 8d 99 06 9f bd 9a c0 e5
6a 5d 03 b3 cf 09 ca 8e c1 4a 6c f9 90 c2 46 e0
89 44 69 cd a5 62 91 42 8a 5f e5 8f d3 fb 93 3f
bc d7 6e 5e f2 80 41 a6 79 78 8e 4d 1d 3d 65 ad
d4 36 9c c5 83 55 9d f1 bb 20 4c b7 6c 95 37 b0
37 06 e3 40 fb 8f 74 c3 59 91 a2 bf a2 e1 db 99
54 29 5f 9b a5 57 f5 40 7a 54 82 9c 84 d4 35 86
14 38 69 14 60 f3 c6 c7 11 75 f2 43 2c 34 ed 89
4a ae e1 9d 57 3e a1 02 03 01 00 01
5d 03 b3 cf 09 ca 8e c1 4a 6c f9 90 c2 46 e0 89
44 69 cd a5 62 91 42 8a 5f e5 8f d3 fb 93 3f bc
d7 6e 5e f2 80 41 a6 79 78 8e 4d 1d 3d 65 ad d4
36 9c c5 83 55 9d f1 bb 20 4c b7 6c 95 37 b0 37
06 e3 40 fb 8f 74 c3 59 91 a2 bf a2 e1 db 99 54
29 5f 9b a5 57 f5 40 7a 54 82 9c 84 d4 35 86 14
38 69 14 60 f3 c6 c7 11 75 f2 43 2c 34 ed 89 4a
ae e1 9d 57 3e a1 02 03 01 00 01
pkey->type=EVP_PKEY_type(6);
pkey->pkey.rsa=d2i_RSAPublicKey(NULL,(const char**)pp,len);
X509证书中RSA公钥的提取与载入的更多相关文章
- [转载]X509证书中RSA公钥的提取与载入 pem key
原地址:https://blog.csdn.net/anddy926/article/details/8940377 由于项目需要,我计划利用openssl开发一个基本的CA,实现证书的发放等功能.在 ...
- openssl 获取证书中的公钥
PEM 格式 1. FILE *fp = fopen("xx.pem", "r"); 2. X509 *cert = PEM_read_X509(fp, N ...
- openssl rsa加密,解密以及X509证书的使用
Openssl的相关使用 生成证书 生成证书见:使用 openssl 生成证书 代码实现 Cert.h #ifndef _CERT_H #define _CERT_H ///header files ...
- OpenSSL 使用拾遗(二)---- X509 证书的 SKID/AKID 字段
SKID(证书使用者密钥标识符,subject key identifier 的简称)和 AKID(证书颁发机构密钥标识符,authority key identifier 的简称)是 X509 证书 ...
- MQTT研究之EMQ:【JAVA代码构建X509证书】
这篇帖子,不会过多解释X509证书的基础理论知识,也不会介绍太多SSL/TLS的基本信息,重点介绍如何用java实现SSL协议需要的X509规范的证书. 之前的博文,介绍过用openssl创建证书,并 ...
- 使用windows crypt API解析X509证书
一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo- ...
- openssl解析国密X509证书
openssl解析国密X509证书,把公钥拿出来重写一下就行了 x = strToX509(pbCert, pulCertLen);dwRet = getCertPubKey(x, &a ...
- openssl 学习之从证书中提取RSA公钥N 和 E
原文链接: http://blog.csdn.net/kkxgx/article/details/19850509 通常数字证书包含很多信息,其中N和E值即我们称为的公钥.如何从PEM 或者DER格式 ...
- 对于如何从SM2的pfx证书文件中解析公钥和私钥,并从二次加密的密文中解密
首先呢,由于我的域名之前处理点问题,然后备案第二个网站时候,第一个网站没法访问,所以备案没过,阿里云告诉我要删除一个网站的备案,但是他没告诉我要删除主体,所以我的备案主体成了空壳主体,要传真或者发快递 ...
随机推荐
- sublime Text3 插件编写教程_第一课
今天给大家分享一下编写一个Sublime Text3 插件的流程以及使用插件解决的一个实际问题. 一.开发插件的前提条件 开发sublime插件用到的是Python语言,因此必须懂Python语言的基 ...
- Ubuntu: 为firefox安装flash插件
下载对应的tar.gz包后,将里边的libflashplayer.so粘贴到/usr/lib/mozilla/plugins中后重启firefox即可.
- redis和ssdb读取性能对比
最近关注了一下ssdb,它的特点是基于文件存储系统所以它支撑量大的数据而不因为内存的限制受取约束.从官网的测试报告来看其性能也非常出色和redis相当,因此可以使用它来代替redis来进行k-v数据业 ...
- 用nifi把hdfs数据导到hive
全景图: 1. ListHDFS & FetchHDFS: ListHDFS: FetchHDFS: 2. EvaluateJsonPath: {"status&qu ...
- T4:T4 笔记 + Trait 示例
背景 官方教程:http://msdn.microsoft.com/en-us/library/vstudio/bb126445.aspx. 如果开发环境或编译器内置了对模板的支持而没有善加利用,就算 ...
- (转)SpringSecurity扩展User类,获取Session
1.在session中取得spring security的登录用户名如下 ${session.SPRING_SECURITY_CONTEXT.authentication.principal.user ...
- [Android] Android Sutdio on Surface Pro 3
Install Android Studio http://www.android-studio.org/index.php/download/androidstudio-download-baidu ...
- Java Web指导方向
第一阶段 第二阶段 第三阶段 第四阶段 第五阶段 第六阶段 第七阶段 第一阶段:Java程序员 技术名称 内 容 说明 Java语法基础 基本语法.数组.类.继承.多态 ...
- H5常用代码:页面框架
万变不离其宗,道法自然! 虽然H5的小项目一波又一波,但有一个东东基本没什么变化,那就是整个页面的框架结构. 我所常用的H5常用页面框架如下: <!DOCTYPE html> <ht ...
- 【Android】Eclipse Memory Analyzer 进行堆内存溢出分析
MAT 不是一个万能工具,它并不能处理所有类型的堆存储文件. 不同厂家的 JVM 所生成的堆转储文件在数据存储格式以及数据存储内容上有很多区别,但是比较主流的厂家和格式,例如 Sun, HP, ...