OpenSSL坑点记录

时间:2019-11-07 20:39:06   收藏:0   阅读:90

TOC

OpenSSL 内置的API的类型和方法有很多,实现同一个功能的有很多API,要搞清这些API的用法和区别还是要时间的,因为不同的API的具体用法还是要自己去试试的

总结一下坑点:

我用的是简单的实现,就是一个MD5(),看网上,这个简单的函数底层也是调用上面复杂的函数实现的

而且在进行MD5生成的时候,用sizeof和strlen的结果都可能是不同的

  1. 数组的大小不对
  2. 加密解密的密钥不配对

关于RSA PEM文件格式

PEM私钥格式文件

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

PEM公钥格式文件

-----BEGIN PUBLIC KEY-----
-----END PUBLIC KEY-----

提取PEM格式公钥:

openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
    -in 指定输入的密钥文件
    -out 指定提取生成公钥的文件(PEM RSAPublicKey格式)

API:

//从BIO重加载PublicKey格式公钥证书
RSA *PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

PEM RSAPublicKey公钥格式文件

-----BEGIN RSA PUBLIC KEY-----
-----END RSA PUBLIC KEY-----

提取:

openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
    -in 指定输入的密钥文件
    -out 指定提取生成公钥的文件(PEM RSAPublicKey格式)

API:

//从BIO重加载RSAPublicKey格式公钥证书
RSA *PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

关于0xC0000005: 读取位置 xxx时发生访问冲突

一般都是指针的问题

常见的溢出主要有:

区别: RSA_private_decrypt and RSA_private_encrypt

原文:https://www.cnblogs.com/volva/p/11815202.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!