-1

我正在尝试用 C 编写一个程序,其中连接到远程 SSL 服务器的 HTTPS 客户端发送加密的 HTTP 请求并打印出服务器的响应(网页)。

我正在尝试从这里运行一些示例

特别是test-port-client.c

但它没有显示我期望的结果。

我通过以下命令检查了我的笔记本电脑中是否有 openssl

apt-cache search libssl | grep SSL

我得到的结果如下。

libssl-dev - SSL development libraries, header files and documentation
libssl-doc - SSL development documentation documentation
libssl1.0.0 - SSL shared libraries
libssl-ocaml - OCaml bindings for OpenSSL (runtime)
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl0.9.8 - SSL shared libraries
libsslcommon2 - enterprise messaging system - common SSL libraries
libsslcommon2-dev - enterprise messaging system - common SSL development files

我正在用 C 编译程序,如下所示:

gcc test-port-client.c -o test-port-client

然后按如下方式运行它:

./test-port-client google.com 80 abc

但我不知道如何根据我的要求调整代码。

我的要求是

“HTTPS 客户端连接到远程 SSL 服务器,发送加密的 HTTP 请求并 > 打印服务器的响应(网页)。此外,您的程序验证 > 服务器提供的 X.509 证书有效并链接到您 > 信任的根证书。”

任何指导将不胜感激。请帮帮我。

4

1 回答 1

0

我有些困惑。您尝试运行的代码与 SSL 无关。它看起来就像一个简单的 TCP 数据包发送方。你看到了什么,你期待看到什么?

要快速了解网络编程,请查看 Beej 的指南: http ://www.beej.us/guide/bgnet/

对于 OpenSSL,这可能是一个很好的起点: http ://savetheions.com/2010/01/16/quickly-using-openssl-in-c/

但是,上面的示例不进行证书验证。但这将是一个很好的测试来验证您的库安装,并且您可以针对适当的库进行编译。

于 2013-11-14T08:36:21.270 回答