pike.git / lib / modules / Standards.pmod / X509.pmod

version» Context lines:

pike.git/lib/modules/Standards.pmod/X509.pmod:147:   }      class Verifier {    constant type = "none";    Crypto.Sign pkc;    optional __deprecated__(Crypto.RSA) rsa;    optional __deprecated__(Crypto.DSA) dsa;       //! Verifies the @[signature] of the certificate @[msg] using the    //! indicated hash @[algorithm]. -  int(0..1) verify(Sequence algorithm, string msg, string signature) +  int(0..1) verify(Sequence algorithm, string(8bit) msg, string(8bit) signature)    {    DBG("Verify hash %O\n", algorithm[0]);    Crypto.Hash hash = algorithms[algorithm[0]];    if (!hash) return 0;    return pkc && pkc->pkcs_verify(msg, hash, signature);    }       protected string _sprintf(int t)    {    return t=='O' && sprintf("%O(%O)", this_program, pkc);
pike.git/lib/modules/Standards.pmod/X509.pmod:343:    if (sizeof(elements) > 6) index++;    elements[index] = val;    }       protected Sequence|Integer low_get(int index)    {    if (sizeof(elements) > 6) index++;    return elements[index];    }    +  protected Sequence low_get_sequence(int index) +  { +  return [object(Sequence)]low_get(index); +  } +  +  protected Integer low_get_integer(int index) +  { +  return [object(Integer)]low_get(index); +  } +     //!    void `serial=(Gmp.mpz|int s)    {    low_set(0, Integer(s));    }    Gmp.mpz `serial()    { -  Integer s = low_get(0); -  return s->value; +  return low_get_integer(0)->value;    }       //! Algorithm Identifier.    void `algorithm=(Sequence a)    {    low_set(1, a);    }    Sequence `algorithm()    { -  return low_get(1); +  return low_get_sequence(1);    }       //! Certificate issuer.    void `issuer=(Sequence i)    {    low_set(2, i);    }    Sequence `issuer()    { -  return low_get(2); +  return low_get_sequence(2);    }       //!    void `validity=(Sequence v)    {    // FIXME: Validate?    low_set(3, v);    }    Sequence `validity()    { -  return low_get(3); +  return low_get_sequence(3);    }       //!    void `not_before=(int t)    { -  Sequence validity = low_get(3); +  Sequence validity = low_get_sequence(3);    validity->elements[0] = UTC()->set_posix(t);    internal_der = UNDEFINED;    }    int `not_before()    { -  Sequence validity = low_get(3); +  Sequence validity = low_get_sequence(3);    return validity[0]->get_posix();    }       //!    void `not_after=(int t)    { -  Sequence validity = low_get(3); +  Sequence validity = low_get_sequence(3);    validity->elements[1] = UTC()->set_posix(t);    internal_der = UNDEFINED;    }    int `not_after()    { -  Sequence validity = low_get(3); +  Sequence validity = low_get_sequence(3);    return validity[1]->get_posix();    }       //!    void `subject=(Sequence s)    {    low_set(4, s);    }    Sequence `subject()    { -  return low_get(4); +  return low_get_sequence(4);    }       // Attempt to create a presentable string from the subject DER.    string subject_str()    { -  Sequence subj = low_get(4); +  Sequence subj = low_get_sequence(4);    mapping ids = ([]);    foreach(subj->elements, Compound pair)    {    if(pair->type_name!="SET" || !sizeof(pair)) continue;    pair = pair[0];    if(pair->type_name!="SEQUENCE" || sizeof(pair)!=2)    continue;    if(pair[0]->type_name=="OBJECT IDENTIFIER" &&    pair[1]->value && !ids[pair[0]])    ids[pair[0]] = pair[1]->value;
pike.git/lib/modules/Standards.pmod/X509.pmod:454:    protected Verifier internal_public_key;       //!    void `keyinfo=(Sequence ki)    {    internal_public_key = make_verifier(ki);    low_set(5, ki);    }    Sequence `keyinfo()    { -  return low_get(5); +  return low_get_sequence(5);    }       //!    void `public_key=(Verifier v)    {    internal_public_key = v;    low_set(5, v->pkc->pkcs_public_key());    }    Verifier `public_key()    {