C++ OpenSSL 之四:CER转换为PEM
1.等同于使用: openssl x509 -in "cer_path" -inform DER -out "save_path" -outform PEM
2.代码如下:cerFilePath是cer文件;cer文件是csr文件请求后获得。
bool MakePemSSL(const char* cerFilePath, const char* savePemFilePath) {
int ret = ;
X509 *x509 = NULL;
FILE *cerFile = NULL, *pemFile = NULL;
cerFile = fopen(cerFilePath, "rb");
if (cerFile == NULL) {
fprintf(stderr, "MakeLocalPemSSL fopen cerFilePath err \n");
goto free_all;
}
pemFile = fopen(savePemFilePath, "w+");
if (pemFile == NULL) {
fprintf(stderr, "MakeLocalPemSSL fopen savePemFilePath err \n");
goto free_all;
}
x509 = d2i_X509_fp(cerFile, NULL);
if (x509 == NULL) {
fprintf(stderr, "MakeLocalPemSSL failed to parse to X509 from cerFile \n");
goto free_all;
}
ret = PEM_write_X509(pemFile, x509);
if (ret != ) {
fprintf(stderr, "MakeLocalPemSSL failed to PEM_write_X509 \n");
goto free_all;
}
free_all:
if (cerFile) fclose(cerFile);
if (pemFile) fclose(pemFile);
return (ret == );
}
以上。
《C++ OpenSSL 之一:编译和使用》
《C++ OpenSSL 之二:生成RSA文件》
《C++ OpenSSL 之三:生成CSR文件》
《C++ OpenSSL 之四:CER转换为PEM》
《C++ OpenSSL 之五:生成P12文件》
C++ OpenSSL 之四:CER转换为PEM的更多相关文章
- DER、CRT、CER、PEM格式的证书及转换
一.证书和编码 X.509证书,其核心是根据RFC 5280编码或数字签名的数字文档. 实际上,术语X.509证书通常指的是IETF的PKIX证书和X.509 v3证书标准的CRL 文件,即如RFC ...
- pfx,cer转pem,并对通过pem文件进行签名与验签
因为PHP无法读取.pfx文件,所以可以先转换为.pem文件然后在读取里面的数据,可以读取.cer文件,为了两方面统一,就都换成.pem然后再进行加签和验签. sign.php <?php de ...
- Cer Crt Pem Pfx 证书格式转换
1.从pfx格式的证书提取出密钥和证书set OPENSSL_CONF=openssl.cnfopenssl pkcs12 -in my.pfx -nodes -out server.pemopens ...
- APNS .p12文件转换为 .pem文件
1:先用mac的钥匙串工具,把APN的推送证书转换为 .p12文件: 2:在mac的终端下 把.p12文件转换为 .pem文件 openssl pkcs12 -in apns-dev-cert.p12 ...
- [OPENSSL下载][证书] OPENSSL将PFX证书转换为PEM格式
OpenSSL Convert PFX Convert PFX to PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -node ...
- ssl证书转换cer转pem
.pem证书转.cer证书 openssl x509 -outform der -in demo.pem -out demo.cer .cer证书转.pem证书 openssl x509 -infor ...
- ios 将p12文件转换为pem
cd 到 文件所在目录 执行以下命令,生成ck.pem文件. openssl pkcs12 -in ck.p12 -out ck.pem -nodes
- C++ OpenSSL 之一:编译和使用
1.官网 https://www.openssl.org/ 当前使用版本为OpenSSL 1.1.1c 2.编译 ①下载后解压,假设解压位置为/home/openssl-1.1.1c ②./confi ...
- C++ OpenSSL 之二:生成RSA文件
1.等同于生成private key: openssl genrsa -out "save_path" 2048 2.代码如下 bool MakeRsaKeySSL(const c ...
随机推荐
- 05-人脸识别-FaceNet的感性认识
源码链接:https://github.com/davidsandberg/facenet 论文链接:https://arxiv.org/pdf/1503.03832.pdf B站大神视频解读论文:h ...
- NOIP 2004 合并果子
洛谷P1090 https://www.luogu.org/problemnew/show/P1090 JDOJ 1270 题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分 ...
- pointnet++的pytorch实现
代码参考:https://blog.csdn.net/weixin_39373480/article/details/88934146 def recognize_all_data(test_area ...
- ubuntu自定义截图截图
如果只需要获取一张屏幕截图,不对其进行编辑的话,那么键盘的默认快捷键就可以满足要求了.而且不仅仅是 Ubuntu ,绝大部分的 Linux 发行版和桌面环境都支持以下这些快捷键: PrtSc – 获取 ...
- pycharm访问mysql数据库
不需要像eclipse那样添加驱动包,在pycharm里面下载一个pymysql包即可. 然后链接自己电脑的mysql并进行访问即可. 源码如下(参考博客:https://blog.csdn.net/ ...
- .NET中线程同步的几种方法
lock.Monitor: lock是Monitor的语法糖 [MethodImpl(MethodImplOptions.Synchronized)]: 特性标记一个方法是需要被同步的,最终实现的效果 ...
- 【Mybatis】CDATA
忽视内部尖括号那些东西
- Spring Cloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战
第四章 网关安全 这一章从简单的API的场景过渡到复杂的微服务的场景 4.1 概述 微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战 OAu ...
- raid,磁盘配额,DNS综合测试题
DNS解析综合学习案例1.用户需把/dev/myvg/mylv逻辑卷以支持磁盘配额的方式挂载到网页目录下2.在网页目录下创建测试文件index.html,内容为用户名称,通过浏览器访问测试3.创建用户 ...
- okhttp 发送get post 请求
package com.qlwb.business.util; import java.util.Map; import com.alibaba.fastjson.JSON; import okhtt ...