c语言socket加密,用Openssl中的AES+RSA还是SSL
在编程中,AES+RSA涉及到的API主要有这些:RSA_generate_key()i2d_RSAPublicKey()d2i_RSAPublicKey()RSA_pu...
在编程中,AES+RSA涉及到的API主要有这些:
RSA_generate_key() i2d_RSAPublicKey() d2i_RSAPublicKey() RSA_public_encrypt() RSA_private_decrypt() AES_set_encrypt_key() AES_set_decrypt_key() AES_encrypt() AES_decrypt()
而SSL涉及到的主要有证书的制作颁发和这些API:
SSL_CTX_new() SSL_set_fd() SSL_read() SSL_write()
主要是为了保证服务端和客户端软件之间通信的信息安全。 展开
RSA_generate_key() i2d_RSAPublicKey() d2i_RSAPublicKey() RSA_public_encrypt() RSA_private_decrypt() AES_set_encrypt_key() AES_set_decrypt_key() AES_encrypt() AES_decrypt()
而SSL涉及到的主要有证书的制作颁发和这些API:
SSL_CTX_new() SSL_set_fd() SSL_read() SSL_write()
主要是为了保证服务端和客户端软件之间通信的信息安全。 展开
1个回答
推荐于2016-07-30
展开全部
1. 利用RSA安全传输aes生成密钥所需的Seed(32字节)
2. 利用aes_encrypt/aes_decrypt对Socket上面的业务数据进行aes加密/解密 理论上只需要aes就能保证全部流程,但由于aes加密所需要的aes-KEY是一个结构。
这个一个结构,如果通过网络进行传输,就需要对它进行网络编码,openssl里面没有现成的API 所以就引入RSA来完成首次安全的传输,保证Seed不会被窃听。
2. 利用aes_encrypt/aes_decrypt对Socket上面的业务数据进行aes加密/解密 理论上只需要aes就能保证全部流程,但由于aes加密所需要的aes-KEY是一个结构。
这个一个结构,如果通过网络进行传输,就需要对它进行网络编码,openssl里面没有现成的API 所以就引入RSA来完成首次安全的传输,保证Seed不会被窃听。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询