Ascio Web Service v3

NodeJS CreateDnsSecKey

Always get the right IP-address

DNSSEC is an extension to DNS that enables clients (like a web browser) to make sure that it is accessing the domain that wants to access.

DNSSEC was designed to protect clients from forged DNS data.

When a DNSSEC-enabled name server is responding to a query for a domain that is DNSSEC-enabled, it digitally signs the response, allowing the client to verify the authenticity of the response. AWS allows you to register domains that are DNSSEC-enabled with the NIC. Note that the relevant NIC needs to support DNSSEC for this to happen.

You do this by creating DNSSEC Key Objects (handles), and you then specify up to five of these on your orders.

At the time of writing, AWS only supports DNSSEC for .SE, .FI, .EU, .NL.

Refer to the relevant TLD Kits for additional information. Also see the documentation for the DnsSecKey object in this document.

Additional reading: http://en.wikipedia.org/wiki/Dnssec

CreateDnsSecKeyResponse CreateDnsSecKey(SecurityHeaderDetails securityHeader,CreateDnsSecKeyRequest request)

Response codes

ResultCodeMessageValue
200OK
401Authorization failed
501Syntax error in parameters or arguments
506Required attribute missing in request

CreateDnsSecKey Request

Property
request

CreateDnsSecKeyResponse

PropertyDescription
CreateDnsSecKeyResult
DnsSecKey
ResultCodeExample: 1
ResultMessage
Errors

Used in Classes

NodeJS example

var soap = require("soap");

var createDnsSecKeyExample = function(callback) {

	//DnsSecKey
	dnsSecKey =  {};
	dnsSecKey.Handle="JD123";
	dnsSecKey.Status="StatusTest";
	dnsSecKey.DigestAlgorithm="RSA-SHA256";
	dnsSecKey.DigestType="SHA-256";
	dnsSecKey.Digest="846E5ED4AB6788032B89393619752F662CF2B7B2046A8EC0804DF88F1469AC1E";
	dnsSecKey.Protocol="ProtocolTest";
	dnsSecKey.KeyType="KeyTypeTest";
	dnsSecKey.KeyAlgorithm="KeyAlgorithmTest";
	dnsSecKey.KeyTag="2224";
	dnsSecKey.PublicKey="PublicKeyTest";

	//CreateDnsSecKeyRequest
	request =  {};
	request.DnsSecKey=dnsSecKey;	
	soap.createClient("https://aws.demo.ascio.com/v3/aws.wsdl", function(err, client) {
		if(err) {
			callback(err);
		} 
		else {
			const ns="http://www.ascio.com/2013/02";
			const securityHeader = {
				SecurityHeaderDetails : {
					Account: "ascio-account",
					Password: "mypassword123"
				}			
			};			
			client.addSoapHeader(securityHeader, ns, "q1");
			const impersonationHeader = {
				ImpersonationHeaderDetails : {
					TransactionAccount: "sub-account"
				}
			}
			client.addSoapHeader(impersonationHeader, ns, "q1");
			client.CreateDnsSecKey({request: request}, function(err,result) {
				if(err) {
					callback({error: err, request : result.request.body});
				} else {
					if(result.CreateDnsSecKeyResult.ResultCode < 400) {
						callback(null,result);	
					} else {
						callback({error: result.CreateDnsSecKeyResult,request : request});
					}
				}
			});
		};
	});
};
createDnsSecKeyExample(function(err,result) {
	if(err) {
		console.log("\n\n Request \n\n",err.request, "\n\n Response \n\n" ,err.error,"\n");
	}
	else {
		console.log(result);
	}
});
WSDL for AWS v3
https://aws.demo.ascio.com/v3/aws.wsdl (OTE)
https://aws.ascio.com/v3/aws.wsdl (Live)
Please configure the IP-Whitelisting in the portal/demo-portal.