1238106Sdes.. _example_examine:
2238106Sdes
3238106Sdes==============================
4238106SdesDNSSEC validator
5238106Sdes==============================
6238106Sdes
7238106SdesThis example program performs DNSSEC validation of a DNS lookup.
8238106Sdes
9238106Sdes::
10238106Sdes
11238106Sdes	#!/usr/bin/python
12238106Sdes	import os
13238106Sdes	from unbound import ub_ctx,RR_TYPE_A,RR_CLASS_IN
14238106Sdes	
15238106Sdes	ctx = ub_ctx()
16238106Sdes	ctx.resolvconf("/etc/resolv.conf")
17238106Sdes	if (os.path.isfile("keys")):
18238106Sdes		ctx.add_ta_file("keys") #read public keys for DNSSEC verification
19238106Sdes	
20238106Sdes	status, result = ctx.resolve("www.nic.cz", RR_TYPE_A, RR_CLASS_IN)
21238106Sdes	if status == 0 and result.havedata:
22238106Sdes	
23238106Sdes	    print "Result:", result.data.address_list
24238106Sdes	
25238106Sdes	    if result.secure:
26238106Sdes	        print "Result is secure"
27238106Sdes	    elif result.bogus:
28238106Sdes	        print "Result is bogus"
29238106Sdes	    else:
30238106Sdes	        print "Result is insecure"
31238106Sdes
32238106SdesMore detailed informations can be seen in libUnbound DNSSEC tutorial `here`_.
33238106Sdes
34238106Sdes.. _here: http://www.unbound.net/documentation/libunbound-tutorial-6.html
35