Here is an example of how to configure DKIM settings using IceWarp's API at https://www.icewarp.com/product/api/. Credit to Josef Zacharias
1a) First, authenticate and generate a private key for the domain.
<iq sid="{{ session_id }} type="get" format="application/xml">
<query xmlns="admin:iq:rpc">
<commandname>GetDomainProperties</commandname>
<commandparams>
<domainstr>{{ domainname }}</domainstr>
<domainpropertylist>
<item>
<propname>D_DKIM_GeneratePrivateKey</propname>
</item>
</domainpropertylist>
</commandparams>
</query>
</iq>
1b) Private key returned in the <val> value
<iq type="result" sid="5432838f8d700b05b6384b1b576b9de3">
<query xmlns="admin:iq:rpc">
<result>
<item>
<apiproperty>
<propname>D_DKIM_GeneratePrivateKey</propname>
</apiproperty>
<propertyval>
<classname>TPropertyString</classname>
<val>-----BEGIN RSA PRIVATE KEY-----
MIIEnwIBAAKCAQD/AduS+3F2GCv9YRD95yN0n1CqqJaGthy34EiMAeT1wGa09U9l0lB6sfoL
KvlQ909Tf6fFAFlyTTQjfvShYLK4DY0G6llwzaDGmvwP60fq25Ap6j2Hu3/idOiJMzhFJZ5z
wW64dTxtLkawr84YN6uX9dhwLz4MQr02UQr+t4XprYT+lnejP8jW7jyMWA5vgFvfywVa9JC6
V2iieQWkFo/a/Vn3TmjHY2X2Qlr0p0ci26CWd9btF0px7QAxoLwciKSOCAuyUtNFitinsRcK
kKLt74tkiLChNYhC2j30xLEA94tM+pitQgvuDjaw2JjLGTXm2wnRBAZAysVqQb4wCtw5T2VN
z6P8o2OS3hL/ELolTXe8cp5New28k+G9FzzkQnJ0dSIN0ztRJPQToPq4mcvqYCTE+v4RROMR
XXXXXXXXXXXX
dfs1Kxc7gHJoSl+6kGSfVwYyrJMEwhitJqtdV05xcsDQS3pwpp4kxXyZiVwzRPDONPNQDcx1
8vqzl88r+Cm+EBew+QA7/gGyPpXTZlWhsH0e1D7Iz2utp0jKX1KUISHlcffN283I0RkKpAjT
ME5wjiXtjwKBgOW+EPiPYrALZNb4xf8+YHddUC/1f0jv2JYa94l9SKvLaC7VEc1zjqcvNftX
lyVutJcOXOljUOzp0Fv+CvEKh42S4a3SqgFYWtSpqelWhD8J1HPpB32+dh6B2/BJcixtAmXY
9lEi2P2bXRDBKdwbQwpJslDsM19gCSoLLwpIO01xAoGAwcuJANv+ygVzUEizkJ67An2JbB0C
57SsThwvh0DuCcluxrQvHVmr9qsXVlRpDdwRNvYH2/Mi+jX6ZYIX2+MGSsspuf+eWsBbu6hB
1vcySKFhz6Fj8KZ4y3h8HQFGSQk4piVyA7J9Lkl5NTQu75mOvWRzsPP1JHdkl5pz5wU+/R0=
-----END RSA PRIVATE KEY-----
</val>
</propertyval>
<propertyright>2</propertyright>
</item>
</result>
</query>
</iq>
2) Set the selector and private key properties
<iq sid="5432838f8d700b05b6384b1b576b9de3" type="set" format="application/xml">
<query xmlns="admin:iq:rpc">
<commandname>SetDomainProperties</commandname>
<commandparams>
<domainstr>ex13.com</domainstr>
<propertyvaluelist>
<item>
<apiproperty>
<propname>D_DKIM_Selector</propname>
</apiproperty>
<propertyval>
<classname>TPropertyString</classname>
<val>default</val>
</propertyval>
</item>
<item>
<apiproperty>
<propname>D_DKIM_PrivateKey</propname>
</apiproperty>
<propertyval>
<classname>TPropertyString</classname>
<val>-----BEGIN RSA PRIVATE KEY-----
MIIEnwIBAAKCAQD/AduS+3F2GCv9YRD95yN0n1CqqJaGthy34EiMAeT1wGa09U9l0lB6sfoL
KvlQ909Tf6fFAFlyTTQjfvShYLK4DY0G6llwzaDGmvwP60fq25Ap6j2Hu3/idOiJMzhFJZ5z
wW64dTxtLkawr84YN6uX9dhwLz4MQr02UQr+t4XprYT+lnejP8jW7jyMWA5vgFvfywVa9JC6
V2iieQWkFo/a/Vn3TmjHY2X2Qlr0p0ci26CWd9btF0px7QAxoLwciKSOCAuyUtNFitinsRcK
kKLt74tkiLChNYhC2j30xLEA94tM+pitQgvuDjaw2JjLGTXm2wnRBAZAysVqQb4wCtw5T2VN
z6P8o2OS3hL/ELolTXe8cp5New28k+G9FzzkQnJ0dSIN0ztRJPQToPq4mcvqYCTE+v4RROMR
XXXXXXXXXXXX
dfs1Kxc7gHJoSl+6kGSfVwYyrJMEwhitJqtdV05xcsDQS3pwpp4kxXyZiVwzRPDONPNQDcx1
8vqzl88r+Cm+EBew+QA7/gGyPpXTZlWhsH0e1D7Iz2utp0jKX1KUISHlcffN283I0RkKpAjT
ME5wjiXtjwKBgOW+EPiPYrALZNb4xf8+YHddUC/1f0jv2JYa94l9SKvLaC7VEc1zjqcvNftX
lyVutJcOXOljUOzp0Fv+CvEKh42S4a3SqgFYWtSpqelWhD8J1HPpB32+dh6B2/BJcixtAmXY
9lEi2P2bXRDBKdwbQwpJslDsM19gCSoLLwpIO01xAoGAwcuJANv+ygVzUEizkJ67An2JbB0C
57SsThwvh0DuCcluxrQvHVmr9qsXVlRpDdwRNvYH2/Mi+jX6ZYIX2+MGSsspuf+eWsBbu6hB
1vcySKFhz6Fj8KZ4y3h8HQFGSQk4piVyA7J9Lkl5NTQu75mOvWRzsPP1JHdkl5pz5wU+/R0=
-----END RSA PRIVATE KEY-----
</val>
</propertyval>
</item>
</propertyvaluelist>
</commandparams>
</query>
</iq>
3a) Lastly, retrieve the data for DNS entry:
<iq sid="5432838f8d700b05b6384b1b576b9de3" type="get" format="application/xml">
<query xmlns="admin:iq:rpc">
<commandname>GetDomainProperties</commandname>
<commandparams>
<domainstr>ex13.com</domainstr>
<domainpropertylist>
<item>
<propname>D_DKIM_RetrieveSelectorData</propname>
</item>
</domainpropertylist>
</commandparams>
</query>
</iq>
3b) Returns data:
<iq type="result" sid="5432838f8d700b05b6384b1b576b9de3">
<query xmlns="admin:iq:rpc">
<result>
<item>
<apiproperty>
<propname>D_DKIM_RetrieveSelectorData</propname>
</apiproperty>
<propertyval>
<classname>TPropertyString</classname>
<val>v=DKIM1; k=rsa; n=2048; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/wHbkvtxdhgr/WEQ/ecjdJ9QqqiWhrYct+BIjAHk9cBmtPVPZdJQerH6Cyr5UPdPU3+nxQBZck00I370oWCyuA2NBupZcM2gxpr8D+tH6tuQKeo9h7t/4nToiTM4RSWec8FuuHU8bS5GsK/OGDerl/XYcC8+DEK9NlEK/reF6a2E/pZ3oz/I1u48jFgOb4Bb38sFWvSQuldoonkFpBaP2v1Z905ox2Nl9kJa9KdHItuglnfW7RdKce0AMaC8HIikjggLslLTRYrYp7EXCiKHc4OdLqUgbMGkp5oWjXd+Y585AKXLn0+ARgoKXHjcF6ZzDaVykYTp+QnwnhX8zVk9nwIDAQAB</val>
</propertyval>
<propertyright>2</propertyright>
</item>
</result>
</query>
</iq>
Comments
0 comments
Article is closed for comments.