自建节点证书相关说明
自建节点证书相关说明
抛砖引玉 留个备忘
▎服务端
验证客户端 SNI, 几个例子:
fork 有 fork 有
▎客户端
验证服务端证书, 几个例子:
▎覆盖用于验证证书的域名,但不会改变 SNI
免流等场景下, SNI 改为混淆, 不关验证, 仍然验证证书的域名
Xray:
mihomo: name-cert-verify
Surge: server-cert-verify-name
Sub-Store 中可按上述输入写字段, 或使用脚本操作
▎备忘
1. 在当前目录生成 10 年的
2. 获取服务器证书 SHA256 指纹:
对于远程服务器
▎如果想自动从服务端读取并设置
Sub-Store 自动设置服务端证书 SHA-256 指纹
▎手动设置
Sub-Store 中直接在输入里写对应的字段, 或使用脚本操作设置内部字段
例如使用单行 JSON 的方式, 把俩字段都写上:
抛砖引玉 留个备忘
▎服务端
验证客户端 SNI, 几个例子:
Trojan-Go : verify_hostname 表示服务端是否校验客户端提供的SNI与服务端设置的一致性 文档Xray : rejectUnknownSni 服务端接收到的 SNI 与证书域名不匹配即拒绝 TLS 握手 文档sing-box: 问了下薄荷佬, 官版没有,▎客户端
验证服务端证书, 几个例子:
Stash : server-cert-fingerprint TLS 握手时验证服务器证书 SHA256 指纹 文档
Surge: server-cert-fingerprint-sha256 文档skip-cert-verify=true :Surge will not verify the server's certificate.
sni=off :turn off SNI completely
▎覆盖用于验证证书的域名,但不会改变 SNI
免流等场景下, SNI 改为混淆, 不关验证, 仍然验证证书的域名
Xray: verifyPeerCertByName, URI 上叫 vcn
mihomo: name-cert-verify
Surge: server-cert-verify-name
Sub-Store 中可按上述输入写字段, 或使用脚本操作 $server['name-cert-verify'] = 'b.com'▎备忘
1. 在当前目录生成 10 年的
bing.com 自签证书:openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout private.key -out certificate.pem -subj "/CN=bing.com" -days 365002. 获取服务器证书 SHA256 指纹:
openssl x509 -noout -fingerprint -sha256 -inform pem -in certificate.pem对于远程服务器
openssl s_client -connect foo.com:443 -servername foo.com </dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256 | cut -d= -f2▎如果想自动从服务端读取并设置
Sub-Store 自动设置服务端证书 SHA-256 指纹▎手动设置
Sub-Store 中直接在输入里写对应的字段, 或使用脚本操作设置内部字段
tls-fingerprint 可自动转其他客户端, 但是 sing-box 的不一样, 没法直接转, 所以开放了字段让你自己设例如使用单行 JSON 的方式, 把俩字段都写上:
{ "name": "节点名", "type": "anytls", "server": "服务器", "port": 443, "password": "xYbpwdF9vIELWoLmdC", "udp": true, "sni": "a.foo.com", "fingerprint": "SHA256 指纹", "_certificate_public_key_sha256": [ "SHA-256 哈希" ] }
sing-box 中的 certificate_public_key_sha256 ,使用以下命令生成openssl x509 -in certificate.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64对于远程服务器
echo | openssl s_client -servername foo.com -connect foo.com:443 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
Sub-Store 中需要使用脚本操作 $server._certificate_public_key_sha256 = [ "428F7quaQJvBhEr5TclcjPpsl1ryyNQo7oLBGhhC3UU=" ]参考 Lucy 整理好的
服务器合集
Sub-Store 合集
合集
恰饭推荐
群组
联系推广
#VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL