背景
OpenSSL支持标准的SSL协议,但并不支持国密SSL协议。本文描述了C语言使用国密版OpenSSL开发一个简单的客户端程序,连接国密Web网站,发送HTTP请求,并接收HTTP应答。
环境
Centos7 X64。
国密OpenSSL。下载参https://www.gmssl.cn/gmssl/index.jsp?go=gmsdk
将国密OpenSSL 展开为/usr/local/gmssl_10
源码
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAXBUF 4096
int main(int argc, char *argv[])
{
struct sockaddr_in serveraddr;
struct hostent *host;
int sockfd, len;
SSL *ssl = NULL;
int bi = 0;
if (argc < 4) {
printf("./%s addr port uri sig.pem sig.key enc.pem enc.key\n", argv[0]);
printf("optional: sig.p