1

我正在使用 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);

但这给了我“服务器需要客户端证书验证,没有提供客户端证书”。

为什么?登录命令中是否应该有证书标志?

4

1 回答 1

2

根据RFC5734,EPP 使用 TLS,而不是 TCP。该 RFC 还要求使用客户端证书。

您的问题缺少有关epp.crt(关联键在哪里?)或您使用的语言的内容的详细信息。TLS 协商,包括客户端证书的验证发生在 EPP 登录之前,但确切的时间可能会被您用于连接的库隐藏。

因此,要回答您的“登录命令中是否应该有任何证书标志?”,不应该,因为证书处理是传输设置的一部分,而不是 EPP 命令。您的问题可能更多地与您使用TcpTransport.

您可以使用网络嗅探器来查看究竟发生了什么。注册中心目前可能不提供 TLS1.3,因此您应该仍然能够看到 TLS 交换,包括您的客户端提供证书。

您连接的注册表也应该能够为您提供帮助。

于 2019-06-01T21:19:01.277 回答