使用证书时 EPP For Domain Registration 连接失败
EPP For Domain Registration connection fails when using a certificate
我正在使用 EPP(可扩展配置协议)执行域注册操作。
一切正常,但是当我使用证书时,登录请求失败。
假设我在 C:\Folder\epp.crt
中拥有证书并使用以下代码:
var tcpTransport = new TcpTransport(url, port, new X509Certificate("C:\Folder\epp.crt"), true);
var service = new Service(tcpTransport);
service.Connect();
此代码执行得很好并且服务已连接。这意味着使用证书建立与 URL 的连接。现在,我尝试登录:
service.Execute(logingCmd);
但这给了我 "Server requires Client certificate validation, no client certificate provided"。
为什么?登录命令中是否应该有任何证书标志?
根据 RFC5734,EPP 使用 TLS,而不是 TCP。此 RFC 还强制要求使用客户端证书。
您的问题缺少有关 epp.crt
内容的详细信息(相关键在哪里?)或您使用的语言。 TLS 协商,包括客户端证书的验证发生在 EPP 登录之前,但确切的时间可能会被您用来连接的库隐藏。
所以要回答您的 "Should there be any flag for certificate in Login Command?",不应该,因为证书处理是传输设置的一部分,而不是 EPP 命令。您的问题可能更多地与您对 TcpTransport
.
的使用有关
您可以使用网络嗅探器来查看到底发生了什么。注册机构目前可能不提供 TLS1.3,因此您应该仍然能够看到 TLS 交换,包括您的客户端提供的证书。
此外,您连接到的注册表应该能够帮助您。
我正在使用 EPP(可扩展配置协议)执行域注册操作。
一切正常,但是当我使用证书时,登录请求失败。
假设我在 C:\Folder\epp.crt
中拥有证书并使用以下代码:
var tcpTransport = new TcpTransport(url, port, new X509Certificate("C:\Folder\epp.crt"), true);
var service = new Service(tcpTransport);
service.Connect();
此代码执行得很好并且服务已连接。这意味着使用证书建立与 URL 的连接。现在,我尝试登录:
service.Execute(logingCmd);
但这给了我 "Server requires Client certificate validation, no client certificate provided"。
为什么?登录命令中是否应该有任何证书标志?
根据 RFC5734,EPP 使用 TLS,而不是 TCP。此 RFC 还强制要求使用客户端证书。
您的问题缺少有关 epp.crt
内容的详细信息(相关键在哪里?)或您使用的语言。 TLS 协商,包括客户端证书的验证发生在 EPP 登录之前,但确切的时间可能会被您用来连接的库隐藏。
所以要回答您的 "Should there be any flag for certificate in Login Command?",不应该,因为证书处理是传输设置的一部分,而不是 EPP 命令。您的问题可能更多地与您对 TcpTransport
.
您可以使用网络嗅探器来查看到底发生了什么。注册机构目前可能不提供 TLS1.3,因此您应该仍然能够看到 TLS 交换,包括您的客户端提供的证书。
此外,您连接到的注册表应该能够帮助您。