guanzhi / GmSSL

支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱
http://gmssl.org
Apache License 2.0
5.11k stars 1.66k forks source link

gmssl3.1 tls13_client 的配置 #1388

Open bigfish666 opened 1 year ago

bigfish666 commented 1 year ago

想问一下tls_server与client配置的指令有没有具体的说明呀?有点搞不懂client中host是什么?是之前版本的connect吗?

guanzhi commented 1 year ago

参考demos目录下tlcpdemo.shtls12demo.shtls13demo.sh这几个脚本

bigfish666 commented 1 year ago

参考demos目录下tlcpdemo.shtls12demo.shtls13demo.sh这几个脚本 您好,就是参考的这个demo中的指令,照着demo测试,最后一步gmssl tls13_client -host 127.0.0.1 -cacert rootcacert.pem -cert clientcert.pem -key clientkey.pem -pass 1234报错。想了解报错的可能原因及host 是指的什么?

guanzhi commented 1 year ago

-host是连接的主机名

在配置时打开ENABLE_TLS_DEBUG选项,可以打印TLS握手消息

mkdir build; cd build
cmake .. -DENABLE_TLS_DEBUG=ON
make; make test; sudo make install

参考demos/tls13demo.sh,在两个终端中分别独立运行tls13_servertls13_client,可以看到详细打印信息

可能的错误原因是

  1. 不具备权限,服务器没有启动
  2. 或者服务器端口号已经被占用,需要在tls13_server-port选项重新指定一个未占用的端口,如4433
bigfish666 commented 1 year ago

好的谢谢。另外WINDOWS环境在开启server时提示bind no error错误。client同样起不来。在mac环境下server服务正常启动。想问一下win的环境下有什么需要注意的吗?是编译的时候有指令没编进去还是什么问题。

guanzhi commented 1 year ago

目前只有demos/tlcpdemo.sh在Windows 10环境下通过验证。 在启动gmssl tlcp_server时需要以管理员方式打开终端。

bigfish666 commented 1 year ago

了解,目前win11的系统,启动tls1.3的server失败。tlcp的 windows我再试一下。在macos环境下,终端输入cmake .. -DENABLE_TLS_DEBUG=ON,会提示warning,见下,好像ENABLE_TLS_DEBUG选项并没有打开。后面实际握手后没有打印消息。 CMake Warning: Manually-specified variables were not used by the project:

ENABLE_TLS_DEBUG
bigfish666 commented 1 year ago

目前只有demos/tlcpdemo.sh在Windows 10环境下通过验证。 在启动gmssl tlcp_server时需要以管理员方式打开终端。

还想请教个问题,如果想更改TLS1.3版本中间使用的算法,更改成TLS_ECC_SM4_CBC_SM3,在命令中如何操作?

guanzhi commented 1 year ago

TLS 1.3 仅支持 TLS_cipher_sm4_gcm_sm3 参见 RFC 8998

heimale commented 1 year ago

TLS 1.3 仅支持 TLS_cipher_sm4_gcm_sm3 参见 RFC 8998 您好,请问 在iOS中可以使用 TLS 1.3吗? iOS平台想使用这个类库应该如何编译?