]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
added versioning in the XML output of certificate functions.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 6 Sep 2002 17:12:54 +0000 (17:12 +0000)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 6 Sep 2002 17:12:54 +0000 (17:12 +0000)
NEWS
doc/tex/pgpcert.xml.tex
doc/tex/x509cert.xml.tex
lib/x509_xml.c
libextra/gnutls_openpgp.c
src/common.c
src/gnutls-http-serv

diff --git a/NEWS b/NEWS
index d1664ce59d91d818dd90e6855394cc6c49b25afc..833ea8b732dc36691c6b514f814841de8753569d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,11 @@
-Version 0.5.6
+Version 0.5.6 (6/09/2002)
 - Corrected bugs in SRP implementation, which prevented gnutls 
   to interoperate with other implementations. (interoperability testing
   was done by David Taylor)
 - Corrected bug in cert_type extension.
 - Corrected extension type checks which used an 8 bit extension size,
   instead of 16 bits.
+- Added versioning in the XML output of certificate functions.
 - Removed the X.509 test suite.
 
 Version 0.5.5 (3/09/2002)
index fe66e35e67dedfc964985d2e9a8de6bfadd46b84..1e11aeb4fef1df5ed3a931c6fd740571941069b1 100644 (file)
@@ -1,7 +1,9 @@
 \begin{verbatim}
 
 <?xml version="1.0"?>
-<OPENPGPKEY>
+
+<gnutls:openpgp:key version="1.0">
+ <OPENPGPKEY>
   <MAINKEY>
     <KEYID>BD572CDCCCC07C3</KEYID>
     <FINGERPRINT>BE615E88D6CFF27225B8A2E7BD572CDCCCC07C35</FINGERPRINT>
@@ -51,6 +53,7 @@
     <CREATED>1011533167</CREATED>
     <KEYID>BD572CDCCCC07C3</KEYID>
   </SIGNATURE>
-</OPENPGPKEY>
+ </OPENPGPKEY>
+</gnutls:openpgp:key>
 
 \end{verbatim}
index d66aa4032e04fb884ce8622e9dd23e7a56286242..0451be10c59e056f1485c4b8dba7af8a7d10c952 100644 (file)
@@ -1,7 +1,9 @@
 \begin{verbatim}
 
 <?xml version="1.0" encoding="UTF-8"?>
-<certificate type="SEQUENCE">
+
+<gnutls:certificate version="1.0">
+ <certificate type="SEQUENCE">
   <tbsCertificate type="SEQUENCE">
     <version type="INTEGER" encoding="HEX">02</version>
     <serialNumber type="INTEGER" encoding="HEX">01</serialNumber>
     </parameters>
   </signatureAlgorithm>
   <signature type="BIT STRING" encoding="HEX" length="1024">B73945273AF2A395EC54BF5DC669D953885A9D811A3B92909D24792D36A44EC27E1C463AF8738BEFD29B311CCE8C6D9661BEC30911DAABB39B8813382B32D2E259581EBCD26C495C083984763966FF35D1DEFE432891E610C85072578DA7423244A8F5997B41A1F44E61F4F22C94375775055A5E72F25D5E4557467A91BD4251</signature>
-</certificate>
+ </certificate>
+</gnutls:certificate>
 
 \end{verbatim}
index a8e1287664947f7644e8a714732f66dfb7032df6..2a051f49dd2ce2f665eb84f21283cd89770a8bd5 100644 (file)
@@ -173,8 +173,10 @@ static int normalize_name( ASN1_TYPE p, char* output, int output_size)
        return 0;
 }
 
-#define XML_HEADER "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#define XML_HEADER "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n" \
+       "<gnutls:x509:certificate version=\"1.0\">\n"
 
+#define XML_FOOTER "</gnutls:x509:certificate>\n"
 
 static int
 _gnutls_asn1_get_structure_xml(ASN1_TYPE structure, const char *name,
@@ -195,6 +197,7 @@ _gnutls_asn1_get_structure_xml(ASN1_TYPE structure, const char *name,
        _gnutls_string_init( &str, malloc, realloc, free);
 
        STR_APPEND(XML_HEADER);
+       indent = 1;
 
        root = _asn1_find_node(structure, name);
 
@@ -551,8 +554,9 @@ _gnutls_asn1_get_structure_xml(ASN1_TYPE structure, const char *name,
                }
        }
        
+       STR_APPEND(XML_FOOTER);
        APPEND( "\n\0", 2);
-       
+
        *res = _gnutls_string2datum( &str);
        
        return 0;
index 4544e2279b6dcde1895ad3c87d1383d116209a71..84c769ab3eb5287cac59a71cac0b9386fa41d90c 100644 (file)
@@ -1851,8 +1851,12 @@ gnutls_openpgp_key_to_xml( const gnutls_datum *cert,
     s = "<?xml version=\"1.0\"?>\n\n";
     rc = _gnutls_string_append_str( &string_xml_key, s );
     if ( rc < 0 ) return rc;
+
+    s = "<gnutls:openpgp:key version=\"1.0\">\n";
+    rc = _gnutls_string_append_str( &string_xml_key, s );
+    if ( rc < 0 ) return rc;
     
-    s = "<OPENPGPKEY>\n";
+    s = " <OPENPGPKEY>\n";
     rc = _gnutls_string_append_str( &string_xml_key, s );
     if ( rc < 0 ) return rc;
 
@@ -1885,7 +1889,12 @@ gnutls_openpgp_key_to_xml( const gnutls_datum *cert,
             break;
         }
     }
-    s = "</OPENPGPKEY>\n";
+    s = " </OPENPGPKEY>\n";
+    rc = _gnutls_string_append_str( &string_xml_key, s );
+    if ( rc < 0 ) return rc;
+
+
+    s = "</gnutls:openpgp:key>\n";
     rc = _gnutls_string_append_str( &string_xml_key, s );
     if ( rc < 0 ) return rc;
 
index f6ef4c517976cfd52a89f45e094078f2393095ad..44360d5d488eadffcc1122fa280c92b766979c60 100644 (file)
@@ -1,10 +1,13 @@
 #include <stdio.h>
+#include <stdlib.h>
 #include <gnutls/gnutls.h>
 #include <gnutls/extra.h>
 #include <time.h>
 
 void print_cert_info(gnutls_session session);
 
+#define XML
+
 #define PRINTX(x,y) if (y[0]!=0) printf(" #   %s %s\n", x, y)
 #define PRINT_DN(X) PRINTX( "CN:", X.common_name); \
        PRINTX( "OU:", X.organizational_unit_name); \
@@ -49,6 +52,19 @@ void print_x509_info(gnutls_session session)
        if (cert_list_size <= 0)
                return;
 
+#ifdef XML
+               {
+                       gnutls_datum res;
+       
+                       gnutls_x509_certificate_to_xml( &cert_list[0], &res, 0);
+                       printf( res.data);
+                       
+                       free(res.data);
+       
+                       return;
+       }
+#endif
+
        printf(" - Certificate info:\n");
 
        printf(" # Certificate is valid since: %s", my_ctime( &activet));
@@ -125,6 +141,19 @@ void print_openpgp_info(gnutls_session session)
        if (cert_list_size > 0) {
                int algo, bits;
 
+#ifdef XML
+               {
+                       gnutls_datum res;
+       
+                       gnutls_openpgp_key_to_xml( &cert_list[0], &res, 0);
+                       printf( res.data);
+                       
+                       free(res.data);
+       
+                       return;
+       }
+#endif
+
                printf(" # Key was created at: %s", my_ctime( &activet));
                printf(" # Key expires: ");
                if (expiret != 0)
index 78ab4925ae23496eac9e68c55148eabc372eef51..396e3e55996b5eb463a548c22293b4d3f804c3b4 100755 (executable)
@@ -1,5 +1,6 @@
 #! /bin/sh
 
 ./gnutls-serv --http --x509certfile x509/cert.pem --x509keyfile x509/key.pem --x509cafile x509/ca.pem \
-       --srppasswd srp/tpasswd --srppasswdconf srp/tpasswd.conf $*
+       --srppasswd srp/tpasswd --srppasswdconf srp/tpasswd.conf \
+       --pgpkeyfile openpgp/sec.asc --pgpcertfile openpgp/pub.asc $*