PHP code example of struzik-vladislav / epp-ext-secdns
1. Go to this page and download the library: Download struzik-vladislav/epp-ext-secdns library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
struzik-vladislav / epp-ext-secdns example snippets
use Psr\Log\NullLogger;
use Struzik\EPPClient\Extension\SecDNS\Node\SecDNSAlgorithmNode;
use Struzik\EPPClient\Extension\SecDNS\Node\SecDNSDigestTypeNode;
use Struzik\EPPClient\Extension\SecDNS\Node\SecDNSFlagsNode;
use Struzik\EPPClient\Extension\SecDNS\Node\SecDNSProtocolNode;
use Struzik\EPPClient\Extension\SecDNS\Request\Addon\SecDNSCreate;
use Struzik\EPPClient\Extension\SecDNS\Request\Addon\SecDNSUpdate;
use Struzik\EPPClient\Extension\SecDNS\Request\Helper\DelegationSignerDataRequest;
use Struzik\EPPClient\Extension\SecDNS\Request\Helper\KeyDataRequest;
use Struzik\EPPClient\Extension\SecDNS\SecDNSExtension;
use Struzik\EPPClient\Node\Domain\DomainContactNode;
use Struzik\EPPClient\Node\Domain\DomainPeriodNode;
use Struzik\EPPClient\Request\Domain\CreateDomainRequest;
use Struzik\EPPClient\Request\Domain\Helper\HostObject;
use Struzik\EPPClient\Request\Domain\UpdateDomainRequest;
// ...
$client->pushExtension(new SecDNSExtension('urn:ietf:params:xml:ns:secDNS-1.1', new NullLogger()));
// ...
$request = new CreateDomainRequest($this->eppClient);
$request->setDomain('example.com');
$request->setPeriod(2);
$request->setUnit(DomainPeriodNode::UNIT_YEAR);
$request->setNameservers([
(new HostObject())->setHost('ns1.example.com'),
(new HostObject())->setHost('ns2.example.com'),
]);
$request->setRegistrant('jd1234');
$request->setContacts([
DomainContactNode::TYPE_ADMIN => 'sh8013',
DomainContactNode::TYPE_TECH => 'sh8013',
]);
$request->setPassword('2fooBAR');
$requestAddon = (new SecDNSCreate())
->setSignatureLifetime('604800')
->setDelegationSignerData([
(new DelegationSignerDataRequest())
->setKeyTag('12345')
->setAlgorithm(SecDNSAlgorithmNode::ALG_DSA)
->setDigestType(SecDNSDigestTypeNode::TYPE_SHA_1)
->setDigest('49FD46E6C4B45C55D4AC')
->setKeyData(
(new KeyDataRequest())
->setFlags(SecDNSFlagsNode::DEFAULT)
->setProtocol(SecDNSProtocolNode::DEFAULT)
->setAlgorithm(SecDNSAlgorithmNode::ALG_RSAMD5)
->setPublicKey('AQPJ////4Q==')
),
]);
$request->addExtAddon($requestAddon);
$response = $client->send($request);
// ...
$request = new UpdateDomainRequest($this->eppClient);
$request->setDomain('example.com');
$requestAddon = new SecDNSUpdate();
$requestAddon->setUrgent(true);
$requestAddon->setRemoveAll(true);
$requestAddon->setDelegationSignerDataForAdding([
(new DelegationSignerDataRequest())
->setKeyTag('12346')
->setAlgorithm(SecDNSAlgorithmNode::ALG_DSA)
->setDigestType(SecDNSDigestTypeNode::TYPE_SHA_1)
->setDigest('38EC35D5B3A34B44C39B'),
]);
$request->addExtAddon($requestAddon);
$response = $client->send($request);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.