diff --git a/test_hsm.py b/test_hsm.py
new file mode 100755
index 0000000000000000000000000000000000000000..ef66fcd8273a6fcf2d65b2a45fdca975872dc8c4
--- /dev/null
+++ b/test_hsm.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+from lxml import etree as ET
+import xmlsec
+
+tree = ET.ElementTree(file='metadata/test/md0.xml')
+root = tree.getroot()
+ns = root.nsmap.copy()
+ns['xml'] = 'http://www.w3.org/XML/1998/namespace'
+
+entity_descriptor = root.findall('md:EntityDescriptor', ns)[0]
+signed = xmlsec.sign(entity_descriptor, key_spec="pkcs11:///usr/lib/softhsm/libsofthsm2.so/test?pin=secret")
+
+# print(ET.tostring(signed, pretty_print=True).decode())
+
+if xmlsec.verify(signed, 'hsm.crt'):
+    print("Verified!")
+else:
+    print("Fail")