Go to My Blog
Go to Lin's Blog

openssl 编程

背景: 生成私钥、公钥 --》

       生成AES-key seed[32], iv[16] --》

       公钥加密ASE-key, IV,传给Server --》

       Server用私钥解密,得到AES-key,IV --》

       Server私钥加密签名SHA1, 传给Client --》

       Client用公钥解密,验证签名--》

       之后的数据全都用AES加密,不过IV按照一定规定可能会变化,不过解密放要能知道加密用的IV.

1.openssl 工具生成公钥、私钥

 

2.Client准备数据,加密,发给Server

   Input: 公钥、AES-key, IV

   char* rsa_publibckey_path = "/xx/rsa_public_key.pem"

   fp=fopen(rsa_publibckey_path, "r");

   RSA* pPubRsa = PEM_read_RSA_PUBKEY(fp,NULL,NULL,NULL);

   IV会有规律的变化

3. 解析数据,得到AES-Key, IV, 对AES-key用SHA1签名并发给Clienty验证

posted @ 2014-06-05 21:37  一ke小小草  阅读(231)  评论(0编辑  收藏  举报