OpenSSL中服务端和客户端加密通信中密钥生成过程
2013-04-16 11:49
253 查看
OK, for anyone finding this in the future, you need to create your certificates and sign them appropriately.Here are the commands for linux:
//Generate a private key
//Generate Certificate signing request
//Sign certificate with private key
//Remove password requirement (needed for example)
//Generate dhparam file
Once you've done that, you need to change the filenames in server.cpp and client.cpp.
server.cpp
client.cpp
Then it should all work!
//Generate a private key
openssl genrsa -des3 -out server.key 1024
//Generate Certificate signing request
openssl req -new -key server.key -out server.csr
//Sign certificate with private key
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
//Remove password requirement (needed for example)
cp server.key server.key.secure openssl rsa -in server.key.secure -out server.key
//Generate dhparam file
openssl dhparam -out dh512.pem 512
Once you've done that, you need to change the filenames in server.cpp and client.cpp.
server.cpp
context_.use_certificate_chain_file("server.crt"); context_.use_private_key_file("server.key", boost::asio::ssl::context::pem); context_.use_tmp_dh_file("dh512.pem");
client.cpp
ctx.load_verify_file("server.crt");
Then it should all work!
相关文章推荐
- HTTPS:会话密钥对称加密HTTP (客户端随机数+服务端随机数+加密的随机数->会话密钥)
- 使用openssl生成密钥、加密和签名
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- Android BLE与终端通信(三)——客户端与服务端通信过程以及实现
- 网络编程中客户端和服务端通信过程、原理及代码示例
- 流式套接字实现简单的客户端/服务端通信过程
- openssl实现双向认证教程(服务端代码+客户端代码+证书生成)
- 流式套接字实现简单的客户端/服务端通信过程
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- openssl加密通信客户端代码
- Socket服务端与客户端加密通信
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
- 使用流式套接字实现简单的客户端/服务端通信过程
- 使用RSA对C++ 客户端和 PHP 服务端之间通信的数据进行加密
- 利用keytool/Openssl来生成服务端和客户端证书,根证书。
- 客户端使用公钥进行加密,服务端使用密钥进行解密
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- 利用keytool/Openssl来生成服务端和客户端证书,根证书。
- 生成openssl客户端密钥时发生的错误的修改