<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SSL :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/index.html</link>
    <description>SSL相关功能</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Thu, 14 Aug 2025 11:21:44 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>国密支持</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/static_ssl/ntls/index.html</link>
      <pubDate>Wed, 13 Aug 2025 10:54:56 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/static_ssl/ntls/index.html</guid>
      <description>1. 功能说明 使用国密版OpenSSL库来使用SM2、SM3、SM4算法（以下简称为SM234算法）。&#xA;SM234算法使用双证书，包括签名证书和加密证书，这是国密支持在证书上的一个特点。&#xA;同时，还要求使用的国密版OpenSSL兼容标准OpenSSL。&#xA;根据NJet的使用场景，国密支持的场景也细分为Server和反向代理两种场景&#xA;2. 指令说明 2.1 ssl_ntls Syntax: ssl_ntls on| off; Default: — Context: http,server 新增 ssl_ntls 指令，用于指定是否使用ntls。&#xA;2.2 ssl_certificate Syntax: ssl_certificate file [file]; Default: — Context: http,server 修改 ssl_certificate 指令，可以配置一个或两个证书，当配置两个证书时，前一个是签名证书，后一个是加密证书。&#xA;2.3 ssl_certificate_key Syntax: ssl_certificate_key file [file]; Default: — Context: http,server 修改 ssl_certificate_key 指令，可以配置一个或两个秘钥，当配置两个秘钥时，前一个是签名密钥，后一个是加密密钥。&#xA;2.4 proxy_ssl_ntls Syntax: proxy_ssl_ntls on| off; Default: — Context: http, server, location 新增 proxy_ssl_ntls 指令，用于代理向后端访问时指定是否使用ntls。&#xA;2.5 proxy_ssl_certificate Syntax: proxy_ssl_certificate file [file]; Default: — Context: http, server, location 修改 proxy_ssl_certificate 指令，可以配置一个或两个证书，当配置两个证书时，前一个是签名证书，后一个是加密证书。</description>
    </item>
    <item>
      <title>动态SSL证书配置</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/dynamic_ssl/dynamic_ssl/index.html</link>
      <pubDate>Wed, 13 Aug 2025 14:57:42 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/dynamic_ssl/dynamic_ssl/index.html</guid>
      <description>1.功能说明 本模块可以支持通过API接口动态添加，删除各类型的SSL证书，包括ECC，RSA，国密或者其他类型。&#xA;2.依赖模块 动态SSL功能依赖模块:&#xA;njet.conf:&#xA;load_module modules/njt_http_kv_module.so; load_module modules/njt_http_dyn_ssl_module.so; njet_ctrl.conf:&#xA;load_module modules/njt_http_sendmsg_module.so; load_module modules/njt_http_ssl_api_module.so; 3.动态服务端ssl数据面配置 主要配置示例&#xA;注意配置文件中需要修改so路径，log路径，替换ssl证书&#xA;load_module modules/njt_http_kv_module.so; load_module modules/njt_dyn_ssl_module.so; helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; worker_processes 1; events { worker_connections 1024; } cluster_name helper; node_name node1; http { access_log logs/access.log combined; dyn_kv_conf conf/iot-work.cf; upstream demo { zone demo 128k; server 192.168.40.141:8080; keepalive 10240; } server { listen 443 ssl; #开启国密功能 ssl_ntls on; #国际 ECC 证书（可选） ssl_certificate certs/server.crt; ssl_certificate_key certs/server.key; #ssl_certificate certs/SS.crt certs/SE.crt; #ssl_certificate_key certs/SS.key certs/SE.key; #国密套件 #ssl_ciphers &#34;ECC-SM2-SM4-CBC-SM3:ECDHE-SM2-WITH-SM4-SM3:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-SHA256:!aNULL:!eNULL:!RC4:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS&#34;; #ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; default_type text/plain; add_header &#34;Content-Type&#34; &#34;text/html;charset=utf-8&#34;; location / { return 200 &#34;njet ntls test OK, ssl_protocol is $ssl_protocol (NTLSv1.1 表示国密，其他表示国际)&#34;; } } } 4.动态服务端ssl控制面配置说明 注意配置文件中需要修改so路径，log路径，替换ssl证书</description>
    </item>
    <item>
      <title>证书吊销列表</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/certificate_crl/index.html</link>
      <pubDate>Thu, 14 Aug 2025 11:21:44 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/certificate_crl/index.html</guid>
      <description>1.功能描述 CRL是由CA发布的，包含了所有被撤销的，即不再被信任的数字证书的列表。一个证书可能会被撤销，原因包括但不限于私钥被泄露，证书被误发，或者证书所有者不再需要该证书。&#xA;当一个系统在验证一个数字证书的有效性时，它会检查CRL以确保证书没有被撤销。如果证书在CRL中，那么该系统会拒绝与提供该证书的系统建立SSL连接，因为这可能意味着连接的安全性无法得到保证。&#xA;因此，SSL和CRL是密切相关的。通过CRL，SSL可以确保在建立的每一个安全连接中，都只使用仍然有效和可信的数字证书。&#xA;2.依赖模块 njet.conf:&#xA;load_module modules/njt_http_dyn_crl_module.so; njet_ctrl.conf&#xA;load_module modules/njt_http_upload_module.so; load_module modules/njt_http_crl_api_module.so; 3.指令说明 ssl_crl 指令可配置证书吊销列表文件 Syntax: ssl_crl file; Default: — Context: http, server Specifies a file with revoked certificates (CRL) in the PEM format used to verify client certificates.&#xA;ssl_verify_client: 是否验证开关 Syntax: ssl_verify_client on | off | optional | optional_no_ca; Default: ssl_verify_client off; Context: http, server Enables verification of client certificates. The verification result is stored in the $ssl_client_verify variable.&#xA;ssl_client_certificate：CA certificates， 会发送给客户端 Syntax: ssl_client_certificate file; Default: — Context: http, server Specifies a file with trusted CA certificates in the PEM format used to verify client certificates and OCSP responses if ssl_stapling is enabled.</description>
    </item>
    <item>
      <title>自动申请证书</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/intro-acme/index.html</link>
      <pubDate>Thu, 14 Aug 2025 09:46:38 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/intro-acme/index.html</guid>
      <description>具体详情配置参考 自动化证书管理</description>
    </item>
    <item>
      <title>Proxy_ssl_alpn</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/proxy_ssl_alpn/index.html</link>
      <pubDate>Wed, 13 Aug 2025 15:42:00 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/ssl/proxy_ssl_alpn/index.html</guid>
      <description>1.功能说明 反向代理到后端server 时，某些应用需要在tls 握手阶段，设置tls 的alpn 字段，proxy_ssl_alpn功能，可以通过提前配置设置该字段。该功能http和stream模块均支持。查看stream配置请参考&#xA;2.指令说明 客户端配置，该配置在stream 和 https 模块生效。在发送Client Hello 时，携带。&#xA;必填 配置说明 proxy_ssl_alpn 是 Syntax: proxy_ssl_alpn protocol …; Default: — Context: stream,http, server, location 1.设置客户端发送的 alpn 类型。多个以空格分隔。 例如：proxy_ssl_alpn h1 h2 h3 h4; 设置 4 个字段。&#xA;2.http，stream 用法一样。结合ssl_preread on 指令。&#xA;3.通过变量 $ssl_preread_alpn_protocols, 选择不同的proxy_pass 路径。&#xA;3.配置说明 njet.conf（数据面配置） http { dyn_kv_conf conf/iot-work.conf; include mime.types; default_type application/octet-stream; access_log logs/access.log; sendfile on; keepalive_timeout 65; server { listen 5555; location = /test1 { proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; proxy_ssl_alpn test1; keepalive_timeout 0; proxy_pass https://127.0.0.1:5443/; } location = /test2 { proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; proxy_ssl_alpn test2; keepalive_timeout 0; proxy_pass https://127.0.0.1:5443/; } location = /default { proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; keepalive_timeout 0; proxy_pass https://127.0.0.1:5443/; } } } stream { map $ssl_preread_alpn_protocols $ssl_server { default 127.0.0.1:5902; test1 127.0.0.1:5900; test2 127.0.0.1:5901; } server { listen 7777; proxy_ssl on; proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; proxy_ssl_alpn test1; proxy_pass 127.0.0.1:5443; } server { listen 8888; proxy_ssl on; proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; proxy_ssl_alpn test2; proxy_pass 127.0.0.1:5443; } server { listen 9999; proxy_ssl on; proxy_ssl_certificate certs/client.pem; proxy_ssl_certificate_key certs/client.key; proxy_pass 127.0.0.1:5443; } server { listen 5900 ssl; ssl_certificate certs/server.pem; ssl_certificate_key certs/server.key; return &#34;5900 test1 ok&#34;; } server { listen 5901 ssl; ssl_certificate certs/server.pem; ssl_certificate_key certs/server.key; return &#34;5901 njet ok&#34;; } server { listen 5902 ssl; ssl_certificate certs/server.pem; ssl_certificate_key certs/server.key; return &#34;5902 default ok&#34;; } server { listen 5443; ssl_preread on; proxy_pass $ssl_server; } } 4.调用样例 4.1 访问http模块下的uri 访问/test1</description>
    </item>
  </channel>
</rss>