From 5ae6b8a88fbca253df3781b03c214a36d0ffd4ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 9 Mar 1999 16:26:00 +0100
Subject: [PATCH] DSA support.

Rev: lib/modules/Tools.pmod/X509.pmod:1.2
---
 lib/modules/Tools.pmod/X509.pmod | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/modules/Tools.pmod/X509.pmod b/lib/modules/Tools.pmod/X509.pmod
index 25c631de8c..a6fbc8edcd 100644
--- a/lib/modules/Tools.pmod/X509.pmod
+++ b/lib/modules/Tools.pmod/X509.pmod
@@ -53,8 +53,7 @@ object make_tbs(object issuer, object algorithm,
 			      keyinfo }) ));
 }
 
-#if 0
-string make_selfsigned_dss_certificate(object dss, int ttl, object name,
+string make_selfsigned_dsa_certificate(object dsa, int ttl, array name,
 				       array|void extensions)
 {
   object serial = asn1_integer(1); /* Hard coded serial number */
@@ -66,20 +65,21 @@ string make_selfsigned_dss_certificate(object dss, int ttl, object name,
   
   object keyinfo = asn1_sequence(
     ({ /* Use an identifier with parameters */
-       DSA.dsa_algorithm_identifier(dsa),
-       asn1_bit_string(DSA.dsa_public_key(dsa)) }) );
+       DSA.algorithm_identifier(dsa),
+       asn1_bit_string(DSA.public_key(dsa)) }) );
 
-  object tbs = make_tbs(name, signature_algorithm,
-			name, keyinfo,
+  object dn = Certificate.build_distinguished_name(@name);
+  
+  object tbs = make_tbs(dn, signature_algorithm,
+			dn, keyinfo,
 			serial, ttl, extensions);
   
   return asn1_sequence(
     ({ tbs,
-       asn1_sequence( ({ signature_algorithm }) );
+       asn1_sequence( ({ signature_algorithm }) ),
        asn1_bit_string(dsa
 		       ->sign_ssl(tbs->get_der())) }))->get_der();
 }
-#endif
 
 string rsa_sign_digest(object rsa, object digest_id, string digest)
 {
@@ -104,7 +104,7 @@ string make_selfsigned_rsa_certificate(object rsa, int ttl, array name,
   object keyinfo = asn1_sequence(
     ({ asn1_sequence( ({ Identifiers.rsa_id,
 			 asn1_null() }) ),
-       asn1_bit_string(RSA.rsa_public_key(rsa)) }) );
+       asn1_bit_string(RSA.public_key(rsa)) }) );
 
   object dn = Certificate.build_distinguished_name(@name);
   
-- 
GitLab