在Hysteria2服务端使用自签证书时,如果搭建脚本或面板没有提供证书的指纹,而你又担心被中间人攻击,希望在客户端指定证书的指纹,可以采取以下两种方法:

  1. 如果能在服务端找到证书,可以使用以下命令获取证书指纹的hex编码:

    openssl x509 -in 你的证书.crt -outform DER | sha256sum | awk '{print $1}'

    或者使用:

    openssl x509 -noout -fingerprint -sha256 -in your_cert.crt | sed 's/^.*=//'

    获取到的证书指纹可以用于Hysteria2的客户端配置文件。详细说明请参考:Hysteria2服务端自签证书 客户端指定证书指纹

    也可以使用以下命令获取证书指纹的base64编码:

    openssl x509 -in 你的证书.crt -outform DER | sha256sum | awk '{print $1}' | xxd -r -p | base64

    或者使用:

    openssl x509 -noout -fingerprint -sha256 -in 你的证书.crt | sed 's/^.*=//' | xxd -r -p | base64

    获取到的证书指纹可以用于V2ray的客户端配置文件。详细说明请参考:Hysteria2服务端自签证书 V2ray客户端指定证书指纹

  2. 如果不能在服务端找到证书或者不懂得如何操作,可以使用v2ray客户端尝试指定证书指纹连接服务端。以v2rayN-VLESS客户端为例,可以导入一个不带证书指纹的Hy2分享链接,如:

    hysteria2://[email protected]:2053?insecure=1#HY2_74.48.9.95

    然后设置一个不正确的指纹,如1234,再次尝试连接。如果命令行报错,错误信息中会提示服务端的证书指纹。例如,如果报错信息显示服务端的指纹为TeddTPwg0va7l8sJsBuTlrK6us6X+7GdxnssJ+JRuso=,则将指纹修改为这个值,再次尝试连接,应该可以正常工作。

需要注意的是,使用v2ray客户端查到的服务端证书指纹是base64编码的,直接放到Hysteria2的客户端配置文件中是不行的。详细讨论请参考: -

标签: none

评论已关闭