[cpp-xmltooling] branch master updated: CPPXT-136 Test cases for malformed/missing DSA keyinfo <J:>

Rod Widdowson rdw at steadingsoftware.com
Tue Oct 2 12:06:55 EDT 2018


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository cpp-xmltooling.

View the commit online:
http://git.shibboleth.net/view/?p=cpp-xmltooling.git;a=commit;h=e60cb2f73d7155067c49eefe515ba81935c38d08

The following commit(s) were added to refs/heads/master by this push:
       new  e60cb2f   CPPXT-136 Test cases for malformed/missing DSA keyinfo <J:>
e60cb2f is described below

commit e60cb2f73d7155067c49eefe515ba81935c38d08
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Oct 2 17:06:14 2018 +0100

    CPPXT-136 Test cases for malformed/missing DSA keyinfo <J:>
    
    https://issues.shibboleth.net/jira/browse/CPPXT-136
    
    TL;DR nobody cares, except that XMLtooling doesn't like <ds:J/>
---
 xmltoolingtest/BadKeyInfoTest.h   | 18 ++++++++++++++++++
 xmltoolingtest/data/DSABadJ.xml   | 18 ++++++++++++++++++
 xmltoolingtest/data/DSABadJ64.xml | 18 ++++++++++++++++++
 xmltoolingtest/data/DSANullJ.xml  | 18 ++++++++++++++++++
 4 files changed, 72 insertions(+)

diff --git a/xmltoolingtest/BadKeyInfoTest.h b/xmltoolingtest/BadKeyInfoTest.h
index d8db8e9..8fb05e1 100644
--- a/xmltoolingtest/BadKeyInfoTest.h
+++ b/xmltoolingtest/BadKeyInfoTest.h
@@ -234,6 +234,7 @@ private:
         }
         else {
             TSM_ASSERT("Unable to resolve DSIGKeyInfoList into Credential.", xsecCred.get() != nullptr);
+
             TSM_ASSERT("Expected null Private Key", xsecCred->getPrivateKey() == nullptr);
             TSM_ASSERT("Expected non-null Public Key", xsecCred->getPublicKey() != nullptr);
             TSM_ASSERT_EQUALS("Expected DSA key", xsecCred->getPublicKey()->getKeyType(), XSECCryptoKey::KEY_DSA_PUBLIC);
@@ -400,6 +401,23 @@ public:
         DSATest("DSANullG.xml", true, true, false, true);
     }
 
+    // J:
+    void testDSABadJ()
+    {
+        // Round trip works, Keys returned nothing throws
+        DSATest("DSABadJ.xml", false, false, false, false);
+    }
+
+    void testDSABadJ64()
+    {
+        // Round trip works, Keys returned nothing throws
+        DSATest("DSABadJ64.xml", false, false, false, false);
+    }
 
+    void testDSANullJ()
+    {
+        // Round trip works (xsec), XmlTooling returns NO public key, Santuario returns a public key, verifyBase64Signature doesn't throw (xsec)
+        DSATest("DSANullJ.xml", false, true, false, false);
+    }
 
 };
\ No newline at end of file
diff --git a/xmltoolingtest/data/DSABadJ.xml b/xmltoolingtest/data/DSABadJ.xml
new file mode 100644
index 0000000..258d9bb
--- /dev/null
+++ b/xmltoolingtest/data/DSABadJ.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+    <ds:KeyName>Foo</ds:KeyName>
+    <ds:KeyName>Bar</ds:KeyName>
+    <ds:KeyValue>
+        <ds:DSAKeyValue>
+            <ds:P>ANVGAtN1Mxr3ZkxKcQqZaMxw2Qbre4jG8G+KFhcPYJQNjhpYH2O+DVWx02vV4H9ypCnPaANktCitKuQSiDA9l1U=
+</ds:P>
+            <ds:Q>AK/apfGsK5pA4iia1j9qAR0Tdaw1
+</ds:Q>
+            <ds:G>DmEQoo+YAVNTUGokcy1ki01WgMfTBsvPqYjRDzcmF7p4oJ8neVCn0B990jv9W8v8gpvxr+w5ZpQkJybngJFAjw==
+</ds:G>
+            <ds:Y>AMJPFxCB9Kp6ekdM90H23zv4JNEhkm1qXNix44Xdl6IABgE896kpNzGQDCKf6iecO7oX+eTJl3KwT3oNE+8EQxk=
+</ds:Y>
+<ds:J>NibbleAHppyWarthog</ds:J>
+        </ds:DSAKeyValue>
+    </ds:KeyValue> 
+</ds:KeyInfo>
diff --git a/xmltoolingtest/data/DSABadJ64.xml b/xmltoolingtest/data/DSABadJ64.xml
new file mode 100644
index 0000000..8c61cd5
--- /dev/null
+++ b/xmltoolingtest/data/DSABadJ64.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+    <ds:KeyName>Foo</ds:KeyName>
+    <ds:KeyName>Bar</ds:KeyName>
+    <ds:KeyValue>
+        <ds:DSAKeyValue>
+            <ds:P>ANVGAtN1Mxr3ZkxKcQqZaMxw2Qbre4jG8G+KFhcPYJQNjhpYH2O+DVWx02vV4H9ypCnPaANktCitKuQSiDA9l1U=
+</ds:P>
+            <ds:Q>AK/apfGsK5pA4iia1j9qAR0Tdaw1
+</ds:Q>
+            <ds:G>DmEQoo+YAVNTUGokcy1ki01WgMfTBsvPqYjRDzcmF7p4oJ8neVCn0B990jv9W8v8gpvxr+w5ZpQkJybngJFAjw==
+</ds:G>
+            <ds:Y>AMJPFxCB9Kp6ekdM90H23zv4JNEhkm1qXNix44Xdl6IABgE896kpNzGQDCKf6iecO7oX+eTJl3KwT3oNE+8EQxk=
+</ds:Y>
+<ds:J>RG1FUW9vK1lBVk5UVUdva2N5MWtpMDFXZ01mVEJzdlBxWWpSRHpjbUY3cDRvSjhuZVZDbjBCOTkwanY5Vzh2OGdwdnhyK3c1WnBRa0p5Ym5nSkZBanc9PQ==</ds:J>
+        </ds:DSAKeyValue>
+    </ds:KeyValue> 
+</ds:KeyInfo>
diff --git a/xmltoolingtest/data/DSANullJ.xml b/xmltoolingtest/data/DSANullJ.xml
new file mode 100644
index 0000000..bd31b20
--- /dev/null
+++ b/xmltoolingtest/data/DSANullJ.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+    <ds:KeyName>Foo</ds:KeyName>
+    <ds:KeyName>Bar</ds:KeyName>
+    <ds:KeyValue>
+        <ds:DSAKeyValue>
+            <ds:P>ANVGAtN1Mxr3ZkxKcQqZaMxw2Qbre4jG8G+KFhcPYJQNjhpYH2O+DVWx02vV4H9ypCnPaANktCitKuQSiDA9l1U=
+</ds:P>
+            <ds:Q>AK/apfGsK5pA4iia1j9qAR0Tdaw1
+</ds:Q>
+            <ds:G>DmEQoo+YAVNTUGokcy1ki01WgMfTBsvPqYjRDzcmF7p4oJ8neVCn0B990jv9W8v8gpvxr+w5ZpQkJybngJFAjw==
+</ds:G>
+            <ds:Y>AMJPFxCB9Kp6ekdM90H23zv4JNEhkm1qXNix44Xdl6IABgE896kpNzGQDCKf6iecO7oX+eTJl3KwT3oNE+8EQxk=
+</ds:Y>
+<ds:J/>
+        </ds:DSAKeyValue>
+    </ds:KeyValue> 
+</ds:KeyInfo>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list