pike.git / lib / modules / Standards.pmod / PKCS.pmod / module.pmod

version» Context lines:

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