Skip to content
Snippets Groups Projects
Commit b0ccfe1e authored by Niels Möller's avatar Niels Möller
Browse files

Use ASN1.Types, not the obsolete ASN1.Encode.

Rev: lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod:1.4
Rev: lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod:1.4
parent 47b59136
No related branches found
No related tags found
No related merge requests found
/* csr.pmod
/* CSR.pmod
*
* Handlig of Certifikate Signing Requests (PKCS-10)
* Handling of Certifikate Signing Requests (PKCS-10)
*/
#if __VERSION__ >= 0.6
import ".";
#endif /* __VERSION__ >= 0.6 */
import Standards.ASN1.Encode;
import Standards.ASN1.Types;
class CSR_Attributes
{
......@@ -19,15 +19,16 @@ class CSR_Attributes
object build_csr(object rsa, object name,
mapping(string:array(object)) attributes)
{
object info = asn1_sequence(asn1_integer(0), name,
object info = asn1_sequence( ({ asn1_integer(0), name,
RSA.build_rsa_public_key(rsa),
CSR_Attributes(Identifiers.attribute_ids,
attributes));
return asn1_sequence(info,
attributes) }) );
return asn1_sequence( ({ info,
asn1_sequence(
Identifiers.rsa_md5_id, asn1_null()),
asn1_bitstring(rsa->sign(info->der(), Crypto.md5)
->digits(256)));
({ Identifiers.rsa_md5_id, asn1_null() }) ),
asn1_bit_string(rsa->sign(info->get_der(),
Crypto.md5)
->digits(256)) }) );
}
......@@ -128,12 +128,12 @@ Version ::= INTEGER
import ".";
#endif /* __VERSION__ >= 0.6 */
import Standards.ASN1.Encode;
import Standards.ASN1.Types;
import Identifiers;
class AttributeValueAssertion
{
import Standards.ASN1.Encode;
import Standards.ASN1.Types;
inherit asn1_sequence;
void create(mapping(string:object) types,
string type,
......@@ -143,19 +143,19 @@ class AttributeValueAssertion
throw( ({ sprintf("AttributeValueAssertion: "
"Unknown attribute type '%s'\n",
type), backtrace() }) );
::create(types[type], value);
::create( ({ types[type], value }) );
}
}
/* RelativeDistinguishedName */
class attribute_set
{
import Standards.ASN1.Encode;
import Standards.ASN1.Types;
inherit asn1_set;
void create(mapping(string:object) types, mapping(string:object) pairs)
{
::create(@ Array.map(indices(pairs),
::create(Array.map(indices(pairs),
lambda(string s, mapping m, mapping t)
{
return AttributeValueAssertion(t, s, m[s]);
......@@ -166,7 +166,7 @@ class attribute_set
object build_distinguished_name(mapping(string:object) ... args)
{
return asn1_sequence(@Array.map(args, lambda(mapping rdn)
return asn1_sequence(Array.map(args, lambda(mapping rdn)
{
return attribute_set(
Identifiers.name_ids, rdn);
......@@ -175,7 +175,7 @@ object build_distinguished_name(mapping(string:object) ... args)
class Attribute
{
import Standards.ASN1.Encode;
import Standards.ASN1.Types;
inherit asn1_sequence;
void create(mapping(string:object) types, string type,
......@@ -185,7 +185,7 @@ class Attribute
throw( ({ sprintf("Attribute: "
"Unknown attribute type '%s'\n",
type), backtrace() }) );
::create(types[type], asn1_set(@ v));
::create( ({ types[type], asn1_set(v) }) );
}
}
......@@ -196,7 +196,7 @@ class Attributes
void create(mapping(string:object) types, mapping(string:array(object)) m)
{
::create(@ Array.map(indices(m),
::create(Array.map(indices(m),
lambda(string field, mapping m, mapping t)
{
return Attribute(t, field, m[field]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment