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())); } - - - -