+ public static CAARecord[] getCAAEntries(String domain) throws NamingException {
+ Hashtable<String, String> env = new Hashtable<String, String>();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
+ InitialDirContext context = new InitialDirContext(env);
+
+ Attributes dnsLookup = context.getAttributes(domain, new String[] {
+ "257"
+ });
+ Attribute nsRecords = dnsLookup.get("257");
+ if (nsRecords == null) {
+ return new CAARecord[] {};
+ }
+ CAA.CAARecord[] result = new CAA.CAARecord[nsRecords.size()];
+ for (int i = 0; i < result.length; i++) {
+ byte[] rec = (byte[]) nsRecords.get(i);
+
+ result[i] = new CAA.CAARecord(rec);
+ }
+ return result;
+ }
+