pike.git
/
lib
/
modules
/
Standards.pmod
/
PKCS.pmod
/
module.pmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/Standards.pmod/PKCS.pmod/module.pmod:6:
//! and others in various RFCs. //! //! @seealso //! @[Standards.ASN1], @[Crypto], //! @rfc{2314@}, @rfc{2459@}, @rfc{2986@}, @rfc{3279@}, @rfc{3280@}, //! @rfc{4055@}, @rfc{4985@}, @rfc{5208@}, @rfc{5280@}, @rfc{5480@}, //! @rfc{5639@}, @rfc{5915@}, @rfc{7292@} import Standards.ASN1.Types;
-
private object
ecdsa
;
+
private object
ECDSA
;
//! Parse a PKCS#8 PrivateKeyInfo (cf @rfc{5208:5@}). //! //! @seealso //! @[RSA.parse_private_key()], @[DSA.parse_private_key()] Crypto.Sign.State parse_private_key(Sequence seq) { if ((sizeof(seq->elements) < 3) || (sizeof(seq->elements) > 4) || (seq->elements[1]->type_name != "SEQUENCE") ||
pike.git/lib/modules/Standards.pmod/PKCS.pmod/module.pmod:37:
return .RSA.parse_private_key(seq->elements[2]->value); } if (alg_id == .Identifiers.dsa_id) { return .DSA.parse_private_key(seq->elements[2]->value); } #if constant(Crypto.ECC.Curve) // RFC 5915:1a. if ((alg_id == .Identifiers.ec_id) || (alg_id == .Identifiers.ec_dh_id) || (alg_id == .Identifiers.ec_mqw_id)) {
-
if(!
ecdsa
)
-
ecdsa
= master()->resolv("Standards.PKCS.ECDSA");
+
if(!
ECDSA
)
+
ECDSA
= master()->resolv("Standards.PKCS.ECDSA");
Crypto.ECC.Curve curve =
-
ecdsa->
parse_ec_parameters(seq->elements[1]->elements[1]);
-
return
ecdsa->
parse_private_key(seq->elements[2]->value, curve);
+
ECDSA.
parse_ec_parameters(seq->elements[1]->elements[1]);
+
return
ECDSA.
parse_private_key(seq->elements[2]->value, curve);
} #endif /* Crypto.ECC.Curve */ return UNDEFINED; } //! variant Crypto.Sign.State parse_private_key(string key) { Object a = Standards.ASN1.Decode.simple_der_decode(key); if (!a || (a->type_name != "SEQUENCE")) return UNDEFINED; return parse_private_key([object(Sequence)]a); }