Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程

PEM文件有以下格式

  1. PEM私钥文件格式
    -----BEGIN RSA PRIVATE KEY-----
    -----END RSA PRIVATE KEY-----
    生成该密钥的Linux命令:OpenSSL>genrsa -out privateKey.pem 1024
    读取该密钥的Linux Openssl API 函数文件读取:
    RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u)
    读取该密钥的Linux Openssl API 函数内存读取:
    RSA *PEM_read_bio_RSAPrivateKey(BIO *bio, RSA **rsa, pem_password_cb *cb, void *u)


  2. PEM私钥文件格式(经过口令加密)
    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4,ENCRYPTED
    DEK-Info: DES-EDE3-CBC,FCD22C6C17CF034C
    -----END RSA PRIVATE KEY-----
    生成该密钥的Linux命令:OpenSSL>genrsa -des3 -out privateKey.pem 1024
    enter后会要求输入口令(最少四位)
    读取该密钥的Linux Openssl API 函数文件读取:
    RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u)
    读取该密钥的Linux Openssl API 函数内存读取:
    RSA *PEM_read_bio_RSAPrivateKey(BIO *bio, RSA **rsa, pem_password_cb *cb, void *u)

  3. PEM公钥文件格式
    -----BEGIN PUBLIC KEY-----
    -----END PUBLIC KEY-----
    生成该密钥的Linux命令:OpenSSL>rsa -in privateKey.pem -pubout -out publicKey.pem
    读取该密钥的Linux Openssl API 函数文件读取:
    RSA *PEM_read_RSA_PUBKEY(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u)
    读取该密钥的Linux Openssl API 函数内存读取:
    RSA *PEM_read_bio_PUBKEY(BIO *bio, RSA **rsa, pem_password_cb *cb, void *u)

  4. PEM RSAPublicKey公钥文件格式
    -----BEGIN RSA PUBLIC KEY-----
    -----END RSA PUBLIC KEY-----
    生成该密钥的Linux命令:OpenSSL>rsa -in privateKey.pem -RSAPublicKey_out -out publicKey.pem
    读取该密钥的Linux Openssl API 函数文件读取:
    RSA *PEM_read_RSAPublicKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u)
    读取该密钥的Linux Openssl API 函数内存读取:
    RSA *PEM_read_bio_RSAPublicKey(BIO *bio, RSA **rsa, pem_password_cb *cb, void *u)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值