渠道资源

EPP SDK

威瑞信鼓励使用已有文档记录的可扩展供应协议(EPP)扩展,以促进互操作性。威瑞信在 互联网数字分配机构(IANA)的 EPP 扩展注册表中注册其已有文档记录的 EPP 扩展集。其中部分 EPP 扩展可能受威瑞信专利约束,需按照相关威瑞信 IPR 声明中的条款获得许可。有关的完整列表,请参阅威瑞信许可声明

威瑞信严格遵循 EPP 标准进行实施。威瑞信开发了 EPP SDK、指南和工具,帮助您开发客户端应用程序,以便与 .com.net (COMNET) 和联合顶级域名(CTLD)共享注册系统(SRS)集成。CTLD SRS 支持.cc、以及实现 EPP 1.0 RFC 的新的 gTLD:

EPP SDK 资源包

威瑞信提供 Java 和 C++ 的 SDK,其中各种语言支持的 EPP 映射和扩展名有所不同。Java EPP SDK 由执行 RFC 5730 和 RFC 5734 的通用核心 (gen) 构建。为方便起见,开发者可以选择独立或打包使用各个映射或扩展:

EPP 映射和扩展名

映射或扩展名 威瑞信资源包 COM NET RTK C ++
附加设备
RFC 5730:扩展供应协议 x x
RFC 5731:扩展供应协议 (EPP) 域名映射 x x
RFC 5732:扩展供应协议 (EPP) 主机映射 x x
RFC 5733:扩展供应协议 (EPP) 联系人映射 x x
RFC 5734:基于 TCP 的扩展供应协议 (EPP) 传输 x x
RFC 3915:域注册宽限期映射 (RGP) x x
RFC 4310:域名系统 (DNS) 安全扩展名映射 x
RFC 5910:域名系统 (DNS) 安全扩展名映射 x
RFC 8334:启动阶段映射 x
RFC 8495:分配令牌扩展名 x
RGP 轮询映射 x
扩展供应协议 ConsoliDate 映射(同步) x
NameStore 扩展名 x
IDN 语言标记 x x
Email Forwarding Mapping (PDF) x
Defensive Registration Mapping (PDF) x
个人注册扩展名 (PDF) x
NameWatch Mapping (PDF) x
Whois 信息扩展名 x
低余额映射 x x
客户端对象属性扩展名 x
余额映射 x
RFC 7848:标记和签名标记映射 x
威瑞信注册表映射 x
注册表映射 x
启动阶段策略扩展名 x
登录安全策略扩展名 x
相关域扩展名 x
RFC 8590:更改轮询扩展名 x
RFC 8748:注册费扩展名 x
IDN 映射扩展名 x
IDN 表格映射 x
验证码扩展名 x
中国名称验证映射 x
RFC 8543:组织映射 x
RFC 8544:组织扩展名 x
RFC 8807:登录安全扩展名 x
RFC 9038:未处理的命名空间 x
验证映射 x
传输的安全授权信息 x
注册表维护通知 x
Use of Internationalized Email Addresses (EAI) x
Time-To-Live (TTL) Extension x
(EPP) Transport Over HTTP (EoH) x
(EPP) Transport Over QUIC (EoQ) x
返回页首

威瑞信资源包 

下表链接到基于 Java 的威瑞信软件开发套件(SDK)资源包,用于与 COMNET 和 CTLD 注册平台交互。威瑞信资源包需要 Java 1.8 及更高版本。

版本 分发 文档 注释
1.17.0.2 Unix Binary (TAR)
Unix Source (TAR)
Windows Binary (ZIP)
Windows Source (ZIP)
Programmer's Guide (PDF)
Change Log (TXT)
1. Made contacts optional in the .name object mappings, which included NameWatch and Defensive Registration.
2. Added more detail to the exception thrown from com.verisign.epp.util.EPPDisabledEntityResolver.
3. Disabled com.verisign.epp.interfaces.EPPSessionTst.testClientInitiatedRenegotiation when TLSv1.3 is set, since client initiated re-negotiation is disabled with TLSv1.3.
4. Updated the TTL extension to draft-ietf-regext-epp-ttl-11.
5. Added contributions from Julien Bernard for creating an EPPSession without initially submitting the login command, which can be driven by the new optional session pool property "EPP.SessionPool.initSessionOnMake" or "EPP.SessionPool..initSessionOnMake".
6. Updated the TTL extension to draft-ietf-regext-epp-ttl-16.
7. Added the HTTP transport (EoH) as defined in draft-loffredo-regext-epp-over-http-05 and added to the Verisign Bundle.
8. Implemented draft-ietf-regext-epp-eai-21, which resulted in changing the extension directory from eai to addlemail, changing the Java packages to use addlemail instead of eai, and changing the Java classes to refer to AddlEmail instead of EAI. Support was added for the "primary" attribute of the "email" element.
9. Added the QUIC transport (EoQ) as defined in draft-yao-regext-epp-quic-02, as input into draft-yao-regext-epp-quic-03, and added to the Verisign Bundle.
10. Added EPPHostCreateCmd.hasAddressses(), and EPPHostCreateCmd.addAddress(EPPHostAddress) methods.
11. Added EPPHostAddRemove.hasStatuses(), EPPHostAddRemove.addStatus(EPPHostStatus), EPPHostAddRemove.hasAddressses(), and EPPHostAddRemove.addAddress(EPPHostAddress) methods.
12. Removed deprecated EPPDomainCheckResult.isKnown(), EPPDomainCheckResult.setKnown(boolean), EPPHostCheckResult.isKnown(), and EPPHostCheckResult.setKnown(boolean) methods.
13. Added use of generics to the Vector attributes for the host codec package.
14. Added use of generics to the Vector attributes for the gen codec package.
15. Added use of generics to the Vector attributes for the domain mapping.
16. Added the TTL extension based on draft-ietf-regext-epp-ttl-05.
17. Changed the log level for the com.verisign.epp.codec.verificationcode.EPPSignedCode.validate(PKIXParameters, boolean) exception to error level.
18. Updated from draft-ietf-regext-epp-eai-07 to draft-ietf-regext-epp-eai-17/draft-ietf-regext-epp-eai-19.
19. Updated the signing algorithm from SignatureMethod.RSA_SHA1 to SignatureMethod.RSA_SHA512 in com.verisign.epp.codec.verificationcode.EPPSignedCode and com.verisign.epp.codec.signedMark.EPPSignedMark to address an error with Java 17 and the use of SHA1.
20. Updated all of the signed mark certificate files (signedMark.jks, signedMarkRevoked.jks, and signedMarkTrust.jks) and CRL files (eppsdk.crl) since they expired and to change from RSA_SHA1 to RSA_SHA512.
21. Removed the testing of the ICANN test SMDs, since the CRL is not available to download with the latest set of test SMDs. Once the complete set of SMDs are available, the testing will be re-enabled.
22. Made the signature algorithm configurable for the signed mark in launch and the signed mark in verification code. The new optional epp.config properties include EPP.Launch.signatureAlgorithm and EPP.VerificationCode.signatureAlgorithm, with the default set to RSA_SHA512 (""http://www.w3.org/2001/04/xmldsig-more#rsa-sha512").
1.16.1.0 Unix Binary (TAR)
Unix Source (TAR)
Windows Binary (ZIP)
Windows Source (ZIP)
Programmer's Guide (PDF)
Change Log (TXT)
1. Added inclusion of the pom file in the lib/epp directory.
2. Updated the library dependencies in libs.gradle to the latest version, including commons-codec:commons-codec:1.15,junit:junit:4.13.2,org.slf4j:slf4j-api:1.7.35,org.slf4j:slf4j-log4j12:1.7.35,ch.qos.logback:logback-core:1.2.10,ch.qos.logback:logback-classic:1.2.10,xerces:xercesImpl:2.12.1,xml-apis:xml-apis:2.0.2.
3. Updated draft-ietf-regext-secure-authinfo-transfer to RFC 9154.
4. Updated draft-ietf-regext-epp-registry-maintenance to RFC 9167.
5. Patched the reference of the log4j2 libraries (org.apache.logging.log4j:log4j-slf4j-impl, org.apache.logging.log4j:log4j-core, and org.apache.logging.log4j:log4j-api) from version 2.15.0 to version 2.17.1 to address a log4j2 vulnerability.
6. Added support for draft-ietf-regext-epp-eai-07 to the bundle in the eai project directory.
7. Updated the dependency for the EPP SDK to be Java 11 or higher.
1.15.0.2 Unix Binary (TAR)
Unix Source (TAR)
Windows Binary (ZIP)
Windows Source (ZIP)
Programmer's Guide (PDF)
Change Log (TXT)
1. Patched the reference of the log4j2 libraries (org.apache.logging.log4j:log4j-slf4j-impl, org.apache.logging.log4j:log4j-core, and org.apache.logging.log4j:log4j-api) from version 2.14.1 to version 2.15.0 to address a log4j2 zero-day vulnerability in CVE-2021-44228.
1.15.0.1 程序员指南 (PDF)
更改日志 (TXT)
1.删除了旧的 v01 版本的注册表映射,并更新了 launchpolicy 和 loginsecpolicy 中的依赖项。
2.从 draft-ietf-regext-epp-registry-maintenance-14 更新到 draft-ietf-regext-epp-registry-maintenance-15。
3.从资源包中删除了高级域扩展。
4.添加了 com.verisign.epp.codec.unhandlednamespaces.v1_0.EPPUnhandledNamespacesMonitor 接口和 com.verisign.epp.codec.unhandlednamespaces.v1_0.EPPUnhandledNamespacesMonitorLogger 实现类,并集成到过滤器类(EPPUnhandledFilterNamespacesPollMessageFilter 和 EPPUnhandledNamespacesResponseFilter)
5.删除了注册表费用扩展的旧版本(draft-brown-epp-fees-06、draft-brown-epp-fees-07、draft-ietf-regext-epp-fees-00、draft-ietf-regext-epp-fees -08)。
6.从 draft-ietf-regext-secure-authinfo-transfer-04 更新到 draft-ietf-regext-secure-authinfo-transfer-07。
7.将 Draft-ietf-regext-unhandled-namespaces 更新为 RFC 9038。
8.从资源包中删除了 JOBS 联系人扩展。
9.从 draft-ietf-regext-epp-registry-maintenance-14 开始,向资源包中添加了维护 EPP 映射。
10.从 epp.config 中删除了日志记录器配置属性,包括 EPP.LogMode、EPP.LogLevel、EPP.LogCfgFile 和 EPP.LogCfgFileWatch。
11.将日志记录从使用 Log4J 1 API 更改为使用 SLF4J,并支持多个后端日志记录器,包括 Log4J 1、Log4J 2 和 Logback。后端日志记录器将根据类路径中包含的记录器库和配置文件自动配置。Log4J 2 被设置为默认的后端日志记录器。
12.将 testClientInitiatedRenegotation 测试添加到 com.verisign.epp.interfaces.EPPSessionTst 以使用 RenogotiationSession 来验证客户端启动的重新协商是否已禁用。
13.添加了在启动存根服务器时设置 jdk.tls.rejectClientInitiatedRenegotiation 系统属性以禁用客户端启动的重新协商。
14.创建了 com.verisign.epp.interfaces.RenogotiationSession 类来测试 EPP 服务器是否支持客户端启动的重新协商。
15.公开 com.verisign.epp.client.EPPSSLClientSocket 的 getter 方法,以启用测试客户端启动的重新协商。
16.添加了传递 com.verisign.epp.exception.EPPCommandException 原因的选项。
17.更新了登录安全扩展以仅支持 RFC (1.0) 版本。
18.为 testClient 和 testClientServer Gradle 任务添加了 com/verisign/epp/pool/*Tst.class 类。
19.添加了对 minAbsoluteTimeout 和 maxAbsoluteTimeout 会话池(单个和系统)属性的支持,以在每个会话的最小和最大绝对超时之间随机化绝对超时。absoluteTimeout 属性被 minAbsoluteTimeout 和 maxAbsoluteTimeout 属性的设置覆盖。
20.修改了 com.verisign.epp.codec.domain.EPPDomainTst.testDomainUpdate 中的测试用例,以与 RFC 5731 中提供的示例完全匹配,并添加一个使用主机属性模型进行更新的用例。
21.将 com.verisign.epp.codec.domain.EPPHostAttr 中的地址属性和关联的访问器方法更改为 Vector<EPPHostAddress> 并创建了 hasAddresses() : boolean 和 addAddress(EPPHostAddress) 方法。
22.将 com.verisign.epp.codec.domain.EPPDomainAddRemove 服务器属性和关联的访问器方法更改为使用 Vector 而不是 Vector 来支持主机对象 (String) 和主机属性 (EPPHostAttr)。为主机属性创建了 addServer(EPPHostAttr) 方法以匹配主机对象的 addServer(String) 方法。
23.将 draft-ietf-regext-unhandled-namespaces-01 替换为 draft-ietf-regext-unhandled-namespaces-03。
24.更新了 com.verisign.epp.transport.client.EPPSSLClientSocket 和 com.verisign.epp.transport.client.EPPPlainClientSocket 类,将 EPP.ConTimeOut 属性用于连接超时,将 EPP.ReadTimeOut 属性用于读取超时。之前,EPP.ConTimeOut 只应用于读取超时,不用于连接超时。为 EPP.ReadTimeOut 属性添加了 EPPEnv.getReadTimeOut() 方法。如果未设置 EPP.ReadTimeOut 属性,则 EPP.ConTimeOut 属性值将用于 EPP.ReadTimeOut。
25.更新了 com.verisign.epp.codec.domain.EPPDomainTst 以对 com.verisign.epp.codec.domain.EPPDomainAddRemove 使用新的“add”方法。
26.为 com.verisign.epp.codec.domain.EPPDomainAddRemove 添加了列表属性的“add”方法和所有属性的“has”方法。
27.为 com.verisign.epp.codec.domain.EPPDomainAddRemove 中的状态修复了使用 Vector 对 Vector 的引用。
28.在 com.verisign.epp.codec.domain.EPPDomainAddRemove 的 Vector 属性中添加了泛型的使用。
29.添加了 EPPUtil.namespaceToNamespaceSuffix(String)、EPPUtil.findUnsupportedExtNamespaceSuffixes(List<String>, List<EPPCodecComponent)、EPPCommand.findUnsupportedExtNamespaceSuffixes(List<String)、EPPResponse.findUnsupportedExtNamespaceSuffixes(List<String),以便更轻松地使用 XML 命名空间后缀进行配置和日志记录。
30.添加了 EPPUtil.findExtNamespaces(List, List, List 31.用 epp-login-security-rfc8807 替换了 draft-ietf-regext-login-security-08 和 draft-ietf-regext-login-security-09。
32.Pool.[Client|Server|XMLSignature].<property> 属性已替换为每个池的单个属性 (EPP.[SchemaCachingParserPool|TransformerPool|XMLSignaturePool].size),其中池同时用于客户端和服务器。如果新属性不存在,先前的属性将被忽略,并且默认池大小设置为 10。查看新的 bundles/verisign/epp.config 以使用新的池属性。
33.将 PoolMan 替换为 Apache Commons Pool 2 用于解析器和转换器池。单例类 com.verisign.epp.pool.parser.EPPSchemaCachingParserPool、com.verisign.epp.pool.parser.EPPXMLSignatureParserPool、com.verisign.epp.pool.transformer.EPPTransformerPool 和 epp.verisign.epp.util.EPPStrictContactParserPool 需要与对 com.verisign.epp.util.EPPXMLByteArray、com.verisign.epp.util.EPPXMLStream 和其他依赖这些池的类的更改一起创建。
34.将 Apache Commons Pool 1 的使用替换为 Apache Commons Pool 2,以便在 com.verisign.epp.pool.EPPSessionPool 和相关类中使用。对于 maxTotal 属性不推荐使用 maxActive 池属性,对于 initMaxTotal 属性不推荐使用 initMaxActive 属性。移除了 poolableClassName 属性的使用。
35.在 gradle-wrapper.properties 中更改为使用 gradle 6.4。
36。从 dnsjava 版本 2.1.9 更新到版本 3.1.0。
37.添加了 com.verisign.epp.util.EPPUtil.findUnsupportedExtNamespaces(List, List)、com.verisign.epp.codec.gen.EPPCommand.findUnsupportedExtNamespaces(List) 和 com.verisign.epp.codec.gen.EPPResponse.findUnsupportedExtNamespaces(List),用于识别不支持的 EPP 扩展,以及 com.verisign.epp.util.EPPCodecTst.testFindDUnsupportedExtensions() 中的相关单元测试。
38.修改了 com.verisign.epp.codec.domain.EPPDomainCreateCmd 以使用 Vector 列表的泛型作为修改 EPP SDK 的原型,以在保持接口向后兼容性的同时利用泛型。为每个列表属性(联系人、服务器)添加了 has 和 add 方法。修改了服务器列表以仅使用名称服务器对象,并添加了一个新的 serverAttrs 列表和相应的方法以使用主机属性。
39.修改了 com.verisign.epp.codec.domain.EPPDomainInfoResp 以使用 Vector 列表的泛型作为修改 EPP SDK 的原型,以在保持接口向后兼容性的同时利用泛型。为每个列表属性(状态、联系人、域名和主机)添加了 has 和 add 方法。修改了域名列表以仅使用名称服务器对象,并添加了一个新的 nsAttrs 列表和相应的方法以使用主机属性。
40.用 RFC 8748 替换了 Draft-ietf-regext-epp-fees-20。
1.12.0.12 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.将 Ant 构建替换为使用 Gradle。
2.移除了所有对 “xsi:schemaLocation” XML属性的使用、对“http://www.w3.org/2001/XMLSchema-instance” XML 命名空间的使用以及将 schemaLocation 传递到 com.verisign.epp.codec.gen.EPPService 类的操作。
3.创建了 com.verisign.epp.interfaces.EPPSession.initLoginAdapter() 方法,并确保在所有 com.verisign.epp.interfaces.EPPSession.init 方法中都调用此方法。
4.更新了 com.verisign.epp.interfaces.EPPSessionTst,以解决“通用类 Class<T> 缺少类型参数”警告。
5.根据 draft-ietf-regext-epp-fees-19 更新了草案 draft-ietf-regext-epp-fees 和 fee-1.0.xsd。
6.更新了 EPPPollQueueMgr.delete 方法以使用 <poll> 元素而不是错误响应值中带有“epp”前缀的 <epp:poll> 元素,因为“epp”命名空间前缀未定义。
7.添加了对 draft-ietf-regext-login-security-04 的支持。
8.通过更新 com.verisign.epp.interfaces.EPPSession 类,解决了在客户端接收到的数据包日志记录的问题。
9.删除了旧版本的登录安全扩展,其中包括 v01、v02 和 v03。保留了版本 v04 和 v1_0。
10.更新了在 com.verisign.epp.serverstub.Server.initializeDispatcher() 中加载工厂和处理程序的顺序,首先加载扩展工厂,然后是映射工厂,最后加载处理程序。这解决了一个极端情况,其中 com.verisign.epp.serverstub.ContactHandler 在加载链接到工厂的 XML 模式之前先加载了严格的联系人解析器池。
11.修复了在 com.verisign.epp.util.EPPStrictContactParser 中将“contact-1.0-relaxed.xsd”替换为“contact-1.0.xsd”的逻辑,以前在删除“contact-1.0-relaxed.xsd”之后未添加“contact-1.0.xsd”。
12.将草案 draft-ietf-regext-epp-fees 更新到了 draft-ietf-regext-epp-fees-18。
13.将 EPPSession.getnewPassword() 更新为 EPPSession.getNewPassword()。
14.删除了未使用的 com.verisign.epp.transport.EPPEventHandler 和 com.verisign.epp.transport.EPPEventTstHandler。
15.在 com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger 中为com.verisign.epp.codec.loginsec.v02.EPPLoginSec、com.verisign.epp.codec.loginsec.v03.EPPLoginSec、com.verisign.epp.codec.loginsec.v03.EPPLoginSec 或 com.verisign.epp.codec.loginsec.v1_0.EPPLoginSec 扩展的登录命令添加了密码遮盖和新密码。
16.修复了 com.verisign.epp.codec.loginsec.v1_0.EPPLoginSecUserAgent 和 com.verisign.epp.codec.loginsec.v04.EPPLoginSecUserAgent getTech(String) : void 方法为 setTech(String) : void 方法。
17.在 epp 库目录中创建了名为 epp-verisign-${build.version}-sources.jar 的 sources.jar 文件,并向其中添加了 DotName 扩展(defreg、emailfwd、namewatch 和 persreg)。
18.在创建 epp-verisign-.jar 文件时添加了生成 EPP SDK POM 文件。
19.创建了 com.verisign.epp.util.EPPDisabledEntityResolver 类,并在 EPP.UseEntityResolver 属性设置为 false 时使用,以确保没有动态解析的 XML 模式。
20.添加了对 draft-ietf-regext-login-security-03 的支持。
21.添加了对draft-gould-regext-login-security-policy-03的支持。
22.在 epp.config 中为属性 EPP.UseEntityResolver=false 设置默认值,以禁用实体解析器。
23.在 com.verisign.epp.util.EPPSchemaCachingParser 中设置可缓解 XML 外部实体注入(XXE)漏洞的 XML 分析器功能。
24.根据对版本 1.11.0.7 的修改,纠正了《威瑞信资源包 EPP SDK 程序员指南》中的有关项。
25.在 com.verisign.epp.interfaces.EPPApplication 中添加了initialize(Properties)、initialize(String, ClassLoader) 和 initialize() 方法,以支持初始化 EPP SDK 的不同方法。
26.移除了 draft-hollenbeck-epp-rgp-03 的 restore report 命令中对 preWhois 和 postWhois 元素的解码支持。
27.添加了 com.verisign.epp.util.EPPUtil.findDuplicateExtNamespaces(List<EPPCodecComponent>)、com.verisign.epp.codec.gen.EPPCommand.findDuplicateExtNamespaces() 和 com.verisign.epp.codec.gen.EPPResponse.findDuplicateExtNamespaces(),以识别重复的 EPP 扩展,以及 com.verisignepp.util.EPPCodecTst.testFindDuplicateExtensions() 中的关联单元测试。
28.通过不对解码时的 XML 命名空间前缀进行硬编码、清理导入、清理注释,并使其与更新后的代码更加一致,清理了 com.verisign.epp.codec.domain 代码。
29.向 com.verisign.epp.codec.gen.EPPAuthInfo 添加新的 ELM_NULL 授权类型和 removePassword() 方法,添加了通过<domain:null>元素移除身份验证信息的支持。
30.修复了大量的 Javadoc 错误和警告。
1.11.0.7 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.更新了 draft-ietf-regext-epp-fees草案到draft-ietf-regext-epp-fees-16。
2.将更改轮询扩展更新为 RFC 8590。
3.分别更新了RFC 8543和RFC 8544的组织映射和组织扩展。
4.从XercesJ 2.11.0更新到2.12.0。
5.添加了对draft-ietf-regext-login-security-01的支持。
6.更新了目标Java 8而不是Java 7的编译。
7.更新为使用Java 11编译和运行。添加了jaxb-api-2.3.1.jar并修复了许多警告,因为不推荐使用类和方法。
8.添加了对draft-gould-casanova-regext-unhandled-namespaces-00的支持。
9.添加了对draft-gould-regext-login-security-policy-03的支持。
10.添加了对draft-gould-regext-launch-policy-01的支持。
11.添加了对draft-gould-carney-regext-registry-04的支持。
12.添加了对draft-ietf-regext-validate-04的支持。
13.从SDK中移除了whois和建议。
14.注释在EPPSSLConfig.toString():String方法中包含密码短语属性(identityPassPhrase、identityKeyPassPhrase和trustStorePassPhrase)以满足日志记录安全性最佳实践。
15.通过创建com.verisign.epp.util.EPPSendReceiveLogger接口以及默认的com.verisign.epp.util.EPPRawSendReceiveLogger类和com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger类,添加了对安全数据包日志记录的支持。默认设置是使用EPPRawSendReceiveLogger,并可选使用EPP.SendReceiveLogger epp.config属性覆盖默认值。将该属性设置为com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger,以获取使用"MASKED”值记录的密码和身份验证信息属性。
16.修复了com.verisign.epp.codec.emailFwd.EPPEmailFwdCheckResult中的一个错误,该错误将检查原因设置为解码时的电子邮件转发名称。更新了EPPEmailFwdCheckResult.equals方法以确保检查所有属性。对com.verisign.epp.codec.defReg.EPPDefRegCheckResult进行了相关的清理更改。
17.在com.verisign.epp.util.EPPSchemaCachingEntityResolver中添加了一个额外的检查,以确保类路径中的XML方案是唯一可以动态加载的XML方案。
18.不推荐使用com.verisign.epp.namestore.interfaces.NSSubProduct。移除了BZ并修订了COM、NET、ORG和NAME,以便在com.verisign.epp.namestore.interfaces.NSSubProduct中使用a-label TLD。
19.更改为使用TLSv1.2作为每个epp.config文件的默认EPP.SSLProtocol设置。
20.已添加对 draft-ietf-regext-epp-fees-13 的支持,它添加了 urn:ietf:params:xml:ns:epp:fee-1.0 XML 命名空间及其相关的 fee-1.0.xsd XML 方案、com.verisign.epp.codec.fee.v1_0 包及相关类。
21.已添加 com.verisign.epp.interfaces.EPPLoginAdapter类、可选的 ”EPP.LoginAdapter” epp.config 属性,并添加了在com.verisign.epp.interfaces.EPPSession中调用set LoginAdapter以支持添加EPP登录扩展。
22.已添加 hasService(String) : boolean 和 hasExtensionService(String) : boolean 到 com.verisign.epp.codec.gen.EPPServiceMenu 和 com.verisign.epp.codec.gen.EPPGreeting,以便能够轻松识别服务器是否支持特定对象或扩展服务。
23.已添加 EPP.UseUserAgent (EPPEnv.isUseUserAgent() : boolean) 和 EPP.SDKVersion (EPPEnv.getSDKVersion() : boolean) epp.config 属性,以支持在登录安全扩展中提供用户代理信息。
24.已添加对登录安全扩展的支持。
25.已将 getNamespace() : String 方法添加到 com.verisign.epp.codec.gen.EPPCodecComponent 接口和所有实施的类,以使所有组件自我描述 XML 命名空间。
26.添加了com.verisign.epp.codec.gen.EPPPollMessageFilter实用程序类,以根据客户端支持的登录服务(对象和命令/响应)过滤EPP轮询消息响应。
27.修改了com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object)方法,以采用无操作和标准模式调用com.verisign.epp.codec.gen.EPPPollMessageFilter,以演示基于客户端登录过滤轮询消息服务。
28.为某些响应(EPPRgpPollResponse、EPPRelatedDomainExtDeleteResp、EPPBalanceInfoResp、EPPLowBalancePollResponse、EPPNameVerificationPendActionMsg)添加了 getNamespace() : String 方法,以确保它们返回正确的 XML 命名空间。
29.移除了旧的费用扩展版本,包括v06、v07 和 v08。
30.将分销商和 resellerext 的引用替换为org 和 orgext。
31.创建了com.verisign.epp.codec.EPPPollMessageFilter接口,该接口由com.verisign.epp.codec.EPPXmlMsgPollMessageFilter、com.verisign.epp.codec.EPPExtValuePollMessageFilter和com.verisign.epp.codec.EPPFullExtValuePollMessageFilter类实施。可选的EPP.PollMessageFilter属性定义为在处理轮询消息时设置在com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object) 中使用的所需过滤器。
32.已通过添加com.verisign.epp.codec.org.EPPOrgPendActionMsg、com.verisign.epp.serverstub.OrgPollHandler并修改com.verisign.epp.serverstub.OrgHandler添加了draft-ietf-regext-org-10的支持,以根据修订的com.verisign.epp.interfaces.EPPOrgTst处理待处理的创建和插入待处理的动作轮询消息。
33.根据ICANN的发布替换过期的测试SMD、SMD CRL和撤销的SMD列表。
34.修复了com.verisign.epp.codec.gen.EPPValue中的一些XML命名空间前缀和URI处理,以支持不同的轮询消息过滤器。
35.将com.verisign.epp.codec.gen.EPPPollMessageFilter重命名为com.verisign.epp.codec.gen.EPPXmlMsgPollMessageFilter,添加了com.verisign.epp.codec.gen.EPPExtValuePollMessageFilter,并添加了com.verisign.epp.codec.gen.EPPFullExtValuePollMessageFilter以支持三种不同的方法来过滤客户端基于客户端登录服务不支持的轮询消息数据。预先定义com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object)以通过EPPFullExtValuePollMessageFilter进行过滤,但可以替换过滤以使用其他过滤器之一。
36。移除了com.verisign.epp.util.TestErrorHandler并将其替换为测试类中的com.verisign.epp.util.EPPXMLErrorHandler。
37.将 maskString(String) : String 方法添加到 EPPSendReceiverLogger 类及其派生类,以便在 EPPXMLErrorHandler 类中用于屏蔽敏感的 XML 解析器错误,如 'pwType'。
1.10.0.3 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.基于 com.verisign.epp.util.EPPSchemaCachingEntityResolver 创建了 XML 实体解析器的设置,这是一个使用可选 EPP.UseEntityResolver config 属性的可配置设置,其默认值为 true。
2.添加了用于将简单注册转为密集注册的宽松联系验证支持。宽松联系验证利用新联系人 XSD (contact-1.0-relaxed.xsd),使 <contact:name>、<contact:addr>、<contact:city>、<contact:street>、<contact:cc> 和 <contact:email> 元素可选。新的可选 EPP.Contact.RelaxedValidation epp.config 属性必须设为 ture,客户端和服务器存根才能使用和验证宽松方案。
3.已在 EPPUtil 中将 com.sun.org.apache.xerces.internal.dom.DocumentImpl 的参考替换为 org.apache.xerces.dom.DocumentImpl。
4.添加了对 EPPGenHandler.handleEvent (EPPEvent, Object)的记录。
5。添加了 getFirstPostalInfo(): EPPContactPostalDefinition到EPPContactInfoResp 和 EPPContact。
6.已添加 EPPDomainInfoResp.getContactByType(String) : EPPDomainContact、EPPDomainInfoResp.getAdminContact() : EPPDomainContact、EPPDomainInfoResp.getTechContact() : EPPDomainContact 和 EPPDomainInfoResp.getBillingContact() : EPPDomainContact。
7.已添加 com.verisign.epp.pool.EPPClientTransIdGenerator 接口,具体的 com.verisign.epp.pool.ClientTransIdGenerator 类和可选的 clientTransIdGenerator 池属性来定义用于为池的登录和注销命令生成客户端事务标识符的具体 EPPClientTransIdGenerator。
8.已添加 EPPSession.sendMessage(EPPMessage) 来帮助测试负面测试案例,但这也是一种向会话发送任何 EPPMessage 的潜在实用方法。
9.已将更多调试日志记录添加到 EPPSSLImpl。
10.在 EPPDispatcher 和 EPPByteArrayDispatcher 中添加了 EPPMessage 类型的验证,以确保在服务器中接收 EPPResponse 或 EPPGreeting 能够返回相应的错误信息。
11.已在 EPP.SSLProtocol 属性的评论中添加附加 SSL 协议选项,并在 epp.config 中将默认协议设为 TLSv1。
12.已更新 EPPUtil.decodeBooleanAttr(Element, String) 方法,从而正确识别不存在的属性,并增强 EPPDecodeException 值的格式,以便更容易提供支持。
13.已使 com.verisign.epp.codec.fee.v09.EPPFeeValue 的可退款和宽限期属性真正可选,无默认值,同时根据 XSD 中的默认值,已应用属性仍然是“即时”默认值。已为这些属性添加了“具有”方法、已将可退款更改为布尔值以支持 null 值,并且更改了编码和解码的方法以处理不存在的属性。
14.已添加便捷的构造函数,为 EPPFeeTransform、EPPFeeCreate、EPPFeeRenew、EPPFeeTransfer 和 EPPFeeUpdate 的 com.verisign.epp.codec.fee.v09 类选择 EPPFeeValue 和货币(字符串)参数。
15.已添加将 Base64 编码签名代码传递并返回至 com.verisign.epp.codec.verificationcode.EPPEncodedSignedCodeValue 的方法。添加时新的 EPPEncodedSignedCodeValue 方法:decodeValue(byte[])、decodeValue(String)、encodeValue(boolean) : String、encodeValueByteArray() : byte[] 和 encodeValueByteArray(boolean) : byte[]。
16.通过从 dnvc.b64 文件中加载 DNVC 并从 rnvc.b64 文件中加载 RNVC,已添加对不使用 VSP 池运行 com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst 测试的支持。
1.9.0.1 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.通过从 dnvc.b64 文件中加载 DNVC 并从 rnvc.b64 文件中加载 RNVC,已添加对不使用 VSP 池运行 com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst 测试的支持。
2.添加了对draft-brown-epp-fees-07的支持。
3.已在 EPP.SSLProtocol 属性的评论中添加附加 SSL 协议选项,并在 epp.config 中将默认协议设为 TLSv1。
4.已将 com.verisign.epp.codec.verificationcode.EPPSignedCode.decode(byte[] aSignedCodeArray) : void 从受保护更改为公开。
5.已更新 EPPUtil.decodeBooleanAttr(Element, String) 方法,从而正确识别不存在的属性,并增强 EPPDecodeException 值的格式,以便更容易提供支持。
6.已使 com.verisign.epp.codec.fee.v09.EPPFeeValue 的可退款和宽限期属性真正可选,无默认值,同时根据 XSD 中的默认值,已应用属性仍然是“即时”默认值。
7.已添加便捷的构造函数,为 EPPFeeTransform、EPPFeeCreate、EPPFeeRenew、EPPFeeTransfer 和 EPPFeeUpdate 的 com.verisign.epp.codec.fee.v09 类选择 EPPFeeValue 和货币(字符串)参数。
8.已添加将 Base64 编码签名代码传递并返回至 com.verisign.epp.codec.verificationcode.EPPEncodedSignedCodeValue 的方法。
1.8.0.4 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.已添加 hasTrustAnchor():boolean 和 getTrustAnchor(): TrustAnchor 至 EPPSignedCode,适用于在成功验证时从 PKIXParameters 获取匹配信任锚。
2.添加了对 draft-zhou-eppext-reseller-mapping-02 和 draft-zhou-eppext-reseller-02 的支持。
3.已添加com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst以及对版本号和存根服务器行为的相关更改,以支持测试将针对存根服务器和 OT&E 服务器工作的 7 个预定义验证流。
4.已添加com.verisign.epp.pool.EPPSessionPool.hasSystemSessionPool(String) : boolean 方法,以确定特性系统会话池是否存在。
5.已修复 com.verisign.epp.codec.verificationcode.EPPVerificationCode.getVspId() : int 以返回 UNDEFINED,而不是在 vspId 不是整数时生成 NumberFormatException。
6.在信方存储中使用格式化信方公钥(信任锚)别名名称,已添加验证代码验证(vsp-id 和代码类型)。
1.6.0.2 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.添加了符合 draft-gould-eppext-verificationcode-02 的验证码扩展名(verificationcode)。
2.添加了符合 draft-xie-eppext-nv-mapping-01 的中国名称验证映射(vsp)。
1.5.0.0 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.添加了 EPPSession.sendPacket(字节 [])方法和 EPPXMLStream.writePacket(字节[],OutputStream),以启用通过必须经由 Codec 内会话发送的数据包。
2.添加了符合 draft-gould-change-poll-02 的更改轮询映射(changepoll)到威瑞信资源包。
3.添加了符合 draft-brown-epp-fees-03 和 draft-brown-epp-fees-04 的注册表费用扩展名(fee)到威瑞信资源包。
4.添加了符合 draft-gould-allocation-token-02 的分配令牌扩展名(allocationtoken)到威瑞信资源包。
5.通过添加支持商标检查表单更新了启用阶段扩展名(launch),以符合 draft-ietf-eppext-launchphase-03 和后续的 draft-ietf-eppext-launchphase-05。
6.添加了符合 draft-ietf-eppext-idnmap-01 的 IDN 映射扩展名(idnmap)到威瑞信资源包。
7.在 NameSuggestion 的信息元素中添加了 subID 属性。
8.添加了符合 draft-gould-idn-table-02 的 IDN 表映射(idntable)到威瑞信资源包。
1.4.0.0 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.转换成依赖 Java 6,而非 Java 5。启用扩展已经依赖于 Java 6,由于对 JAXB 使用的新依赖,整个 SDK 被转变成依赖 Java 6。
2.通过为秒使用 4 位精度在 EPPUtil 中编码 XSD dateTime 类型修正了错误。修正将在编码上使用默认的 3 位数字精度(毫秒),并使用 JAXB DatatypeConverter.parseDateTime 解析 dataTime 值。添加了访问方法(getTimeInstantFormat():字符串和 setTimeInstantFormat(字符串))以便在需要时更改编码格式。
1.3.0.0 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.更新至 25nov13 测试 SMD(无空格的 SMD)和测试 SMD 撤销清单。SMD 撤销清单从 UTF-8 转换为 ASCII。
2.通过在 doc 目录中更新 launch-1.0.xsd 和更新 draft-tan-epp-launchphase.txt 以支持 draft-tan-epp-launchphase-12,以及更新代码和测试以支持新 validatorID 可选属性。
3.修复了 com.verisign.epp.codec.registry.EPPRegistryRegEx 类和一些客户端类中的 XML 命名空间处理至 com.verisign.epp.codec.registry.EPPRegistryRegEx。
4.更改了 com.verisign.epp.codec.signedMark.EPPSignedMark 以处理 XML 解析异常。解析从编码 SMD 获得的 XML 时尤其需要。
1.1.0.4 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.将 com.verisign.epp.codec.EPPSignedMark 分成两类,EPPSignedMark 和 EPPEncodedSignedMark,以处理带或不带多余空格的 SMD 验证。
2.对 EPPEncodedSignedMark 创建了 SMD InputStream 构造器以直接解析 SMD。
3.添加了对吊销的 SMD 验证的支持。
4.添加了 ICANN 示例 SMD 的包含内容与测试。
5.添加了对多个 CRL 的支持以支持由 SDK 创建的 SMD 和 ICANN 示例 SMD。
6.在相关域信息命令中添加了域信息表和相关信息表。
7.创建了 com.verisign.epp.interfaces.EPPRelatedDomain 类以支持所有相关域扩展命令。
8.更新了 com.verisign.epp.namestore.interfaces.NSDomain 类以扩展 com.verisign.epp.interfaces.EPPRelatedDomain,添加对新相关域扩展命令的支持。
9.在网格中为 Suggestion 添加了新的 "uTLD" 属性。
10.对 Suggestion 添加了新的“限制”属性。
11.放宽 Suggestion 中的 tld 类型以支持 Unicode 值。
1.0.0.5 Unix 二进制文件 (TAR)
Unix 源代码 (TAR)
Windows 二进制文件 (ZIP)
Windows 源代码 (ZIP)
程序员指南 (PDF)
更改日志 (TXT)
1.第一次对外发布的威瑞信资源包:
a.包括 Name Store/SRS 资源包中的映射/扩展。
b.包括 Name 资源包中的映射/扩展。
c.包括 Launch EPP SDK 中的 Launch 扩展。
d.添加了注册表映射。
e.添加了相关域扩展。
f.更新了建议扩展。

EPP 工具

EPP Tool是一组明确的、基于上下文的交互式示例,以帮助开发人员创建代码设计并对其进行故障排查。该工具的行为类似操作测试和评估 (OT&E) 环境中的注册商应用程序。EPP 工具支持 COMNET 和 CTLD 注册平台。