diff --git a/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod b/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
index db91e6953b743ac6e70da2ec453561c7363ded3f..6598440c9b472641e21325c7939d494e25e5ecdb 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
@@ -3,26 +3,26 @@
  * Handlig of Certifikate Signing Requests (PKCS-10)
  */
 
-import asn1.encode;
+import Standards.ASN1.Encode;
 
-class Attributes
+class CSR_Attributes
 {
-  inherit certificate.attribute_set;
+  inherit Certificate.Attributes;
   constant cls = 2;
   constant tag = 0;
 }
 
-object build_csr(object rsafoo, object name,
-		 mapping(string:object) attributes)
+object build_csr(object rsa, object name,
+		 mapping(string:array(object)) attributes)
 {
   object info = asn1_sequence(asn1_integer(0), name,
-			      rsa.build_rsa_public_key(rsafoo),
-			      Attributes(identifiers.attribute_ids,
+			      RSA.build_rsa_public_key(rsa),
+			      CSR_Attributes(Identifiers.attribute_ids,
 					 attributes));
   return asn1_sequence(info,
 		       asn1_sequence(
-			 identifiers.rsa_md5_id, asn1_null()),
-		       asn1_bitstring(rsafoo->sign(info->der(), Crypto.md5)
+			 Identifiers.rsa_md5_id, asn1_null()),
+		       asn1_bitstring(rsa->sign(info->der(), Crypto.md5)
 			 ->digits(256)));
 }
 
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod b/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
index 4edee6b793a3dd4e7ee908afe5f54ff0697f0702..ee80780a9cf4d92d3e016209e019171f64266833 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
@@ -61,7 +61,7 @@
       2.5.4.53 - id-at-deltaRevocationList
 */
 
-import asn1.encode;
+import Standards.ASN1.Encode;
 
 object pkcs_id = asn1_identifier(1, 2, 840, 113549, 1);
 object pkcs_1_id = pkcs_id->append(1);
@@ -80,7 +80,9 @@ mapping name_ids =
   "commonName" : attributeType_id->append(3),        /* printable string */
   "countryName" : attributeType_id->append(6),       /* printable string */
   "localityName" : attributeType_id->append(7),      /* printable string */
-  "organizationName" : attributeType_id->append(10)  /* printable string */
+  "stateOrProvinceName" : attributeType_id->append(8), /* printable string */
+  "organizationName" : attributeType_id->append(10), /* printable string */
+  "organizationUnitName" : attributeType_id->append(11)  /* printable string */
    ]);
 
 mapping attribute_ids =
@@ -94,5 +96,5 @@ mapping attribute_ids =
   "challengePassword" : pkcs_9_id->append(7),       /* Printable | T61
 						       | Universal */
   "unstructuredAddress" : pkcs_9_id->append(8),     /* Printable | T61 */
-  "extendedCertificateAttributes" : pkcs_9_id->append(0) /* Attributes */
+  "extendedCertificateAttributes" : pkcs_9_id->append(9) /* Attributes */
    ]);
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod b/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
index 32b488868533baf487c13df57b46d699c4215eea..3a91b37aff66dfd0d50fa13f4350419d61c0368a 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
@@ -8,7 +8,7 @@
 #define WERROR(x)
 #endif
 
-import asn1.encode;
+import Standards.ASN1.Encode;
 
 /* Create a DER-coded RSAPrivateKey structure */
 string rsa_private_key(object rsa)
@@ -25,7 +25,7 @@ string rsa_private_key(object rsa)
 object parse_private_key(string key)
 {
   WERROR(sprintf("rsa->parse_private_key: '%s'\n", key));
-  array a = asn1.decode(key)->get_asn1();
+  array a = Standards.ASN1.decode(key)->get_asn1();
 
   WERROR(sprintf("rsa->parse_private_key: asn1 = %O\n", a));
   if (!a
@@ -49,7 +49,3 @@ object build_rsa_public_key(object rsa)
     asn1_bitstring(asn1_sequence(
       asn1_integer(rsa->n), asn1_integer(rsa->e))->der()));
 }
-
-  
-		       
-