metaregistrar / php-epp-client

Object-oriented PHP EPP Client
https://www.metaregistrar.com/docs/
MIT License
214 stars 159 forks source link

getKeyData response empty for SIDN / .nl domain #335

Closed mvdgeijn closed 1 year ago

mvdgeijn commented 2 years ago

It seems I'm running into a bug in the communication with the SIDN registry. This connection enables the secDNS extension by default, but the registry doesn't return a keyTag as expected in eppDnssecInfoDomainResponse:

$test = $keydata->getElementsByTagName('keyTag');
if ($test->length > 0) {

The extension part of the response:

    <extension>
      <secDNS:infData>
        <secDNS:keyData>
          <secDNS:flags>257</secDNS:flags>
          <secDNS:protocol>3</secDNS:protocol>
          <secDNS:alg>8</secDNS:alg>
          <secDNS:pubKey>AwEAAaTua/U9row6jemc1+4rvMwFle6AxgcJMm6jMLYtyNZ72P44aA4wRdQKN0yveKNga3FasmNYwvpbjGaTf4sXOiAX2+XKvQtBqbWQdVpB/5tLdUgAjokyF4w0YPXH8WsR0w.....
        </secDNS:keyData>
      </secDNS:infData>
      <sidn-ext-epp:ext>
        <sidn-ext-epp:infData>
          <sidn-ext-epp:domain>
            <sidn-ext-epp:optOut>false</sidn-ext-epp:optOut>
            <sidn-ext-epp:limited>false</sidn-ext-epp:limited>
            <sidn-ext-epp:period unit="m">12</sidn-ext-epp:period>
            <sidn-ext-epp:scheduledDeleteDate xsi:nil="true"></sidn-ext-epp:scheduledDeleteDate>
          </sidn-ext-epp:domain>
        </sidn-ext-epp:infData>
      </sidn-ext-epp:ext>
    </extension>

Am I doing something wrong? Or is there some setting I need to add somewhere?

mvdgeijn commented 2 years ago

I think I figured it out: it seems that I have to use the getKeys method to process the SIDN response, where I need to use getKeyData to process the EURid response?

metaregistrar commented 2 years ago

Where it comes to returning DNSSEC information, there are 2 ways implemented by registries:

  1. Public key information with flags, protocol and algo
  2. Key tag information with keytag, digest and hash

SIDN has chosen for option 1, and returns info like shown in your EPP response, but they do not return keytag, digest or hash

I do have a PHP conversion script to convert public key info to keytag info, if you need that.