openssl pem文件的读取
准备工作
生成私钥文件(里面已包含公钥)
openssl genrsa -out private.pem 1024
从私钥文件中提取公钥
openssl rsa -in private.pem -pubout -out public.pem
如果用
openssl rsa -in private.pem -RSAPublicKey_out -out public.pem
报错 unknown option -RSAPublicKey_out
openssl 是0.9.8e版本的,不知道为啥没这个参数
没了这个参数,读取公钥的时候只能用 PEM_read_RSA_PUBKEY
而不能用PEM_read_RSAPublicKey,因为带-RSAPublicKey_out参数生成的pem文件不一样(不仅仅是头尾)
网上抄来的
函数PEM_read_RSA_PUBKEY读取的是
-----BEGIN PUBLIC KEY-----
函数PEM_read_RSAPublicKey读取的是
-----BEGIN RSA PUBLIC KEY-----
但是!!!,为毛private.pem里面是
-----BEGIN RSA PRIVATE KEY-----
这样的,
而生成的public.pem竟然是
-----BEGIN PUBLIC KEY-----
的?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openssl/bn.h>
#include <openssl/rsa.h>
#include <openssl/pem.h> int main()
{
RSA *rsa; FILE *fp;
if ((fp = fopen("C:\\openssl_test\\public.pem", "r")) == NULL) {
return -1;
} rsa = PEM_read_RSA_PUBKEY(fp, NULL, NULL, NULL);
RSA_free(rsa);
fclose(fp); if ((fp = fopen("C:\\openssl_test\\private.pem", "r")) == NULL) {
return -1;
}
rsa = PEM_read_RSAPrivateKey(fp,NULL,NULL,NULL); RSA_free(rsa);
return 0;
}
openssl pem文件的读取的更多相关文章
- openssl pem 生成公钥和私钥及文件
openssl pem.h 中提供了关于pem格式密钥对的操作接口 通常使用.pem的格式文件来保存openssl 生成的密钥对: 在终端下 cat xxx.pem 可以看到 p.p1 { margi ...
- Java Keytools 证书转换成Openssl 的PEM 文件或keytools 导出私钥文件
上一遍又说到Godaddy 生请证书流程与操作: 现因使用Incapsula 防护使用到https,在添加网站时需要自定义证书,其中需要上传私钥信息,因公钥是能过keytool 生成所以需要导出私钥信 ...
- openssl pem密钥文件rsa加密解密例子
准备工作 命令行加密解密,用与比对代码中的算法和命令行的算法是否一致 C:\openssl_test>openssl rsautl -encrypt -in data.txt -inkey pu ...
- openssl从内存中读取私钥进行签名
麻痹的找了好久,真恶心! #include <stdio.h> #include <stdlib.h> #ifdef WIN32 #include <windows.h& ...
- iOS推送证书转pem文件
iOS推送证书转 .pem文件. 推送证书转pem文件openssl x509 -in apns_miaobozhibo.cer -inform der -out apns_miaobozhibo.p ...
- 实战p12文件转pem文件
1.首先生成一个ssl的证书 选择app IDS 后实现下面这个(这里不详细说明怎么生成了) 点击Download按钮,我就下载Development的ssl证书,下载成功后,双击运行,会打开钥匙串程 ...
- pfx,cer转pem,并对通过pem文件进行签名与验签
因为PHP无法读取.pfx文件,所以可以先转换为.pem文件然后在读取里面的数据,可以读取.cer文件,为了两方面统一,就都换成.pem然后再进行加签和验签. sign.php <?php de ...
- (转)iOS消息推送机制中pem文件的生成
转自:http://2015.iteye.com/blog/1567777 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件 ...
- (转)实战p12文件转pem文件
需要实现这个功能的一般都是app开发证书不支持通配符(即com.xxx.xxx.xxx格式),在业务需求上类似消息推送这样的业务. 1.首先生成一个ssl的证书 选择app IDS 后实现下面这个(这 ...
随机推荐
- java基本数据间转换
string=====>int int x = Integer.parseInt(“1111”); string=====>char char x = request.getParamet ...
- 两种创建Observable的方法(转)
转自:http://blog.csdn.net/nicolelili1/article/details/52038211 Observable.create() create()方法使开发者有能力从头 ...
- GitHub优秀项目
https://blog.csdn.net/javaxuexi123/article/details/79248124
- nohup top -p 22452 -b >>jiu.log &
解释一下: 1. nohup \$order & 后台执行 2. nohup \$order >>$file & 后台执行,并输入指定文件 3. top -p $num 使 ...
- httpclient使用用例
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...
- 非常棒的轨迹插件Better Trails v1.4.6
点击下载
- WLC5520无法通过无线客户端进行网管故障解决
客户反馈其办公环境中的WLC5520网管需要通过内部有线网络进行管理,通过无线客户端无法进行管理,远程协助其开启WLC5520的无线管理功能后故障解决.
- Cisco无线AP上联口为trunk时无法注册故障处理
网络环境:WLC5520 AP:1832i-h-k9 客户实施过程中电话告知其将AP和交换机互联的端口类型设置为TRUNK口后,AP无法注册到WLC上,后经过查看配置发现客户用于AP管理的VLAN为 ...
- f5健康检查
1.1)一般pool的健康检查 Pool member 2)检查member的多个端口,若有任意一个端口down,则切换到另一member Pool的健康检查不填,pool member的健康检查填多 ...
- c#调用dll接口传递utf-8字串方法
1. 起源: VCU10之视频下载模块,采用纯python编码实现,c++代码调用pythonrun.h配置python运行环境启动python模块,编译为dll给c#调用,以使界面UI能够使用其中功 ...