Skip to content
  • Nick Mathewson's avatar
    Use a single path for all PEM-like objects in get_next_token() · 05569422
    Nick Mathewson authored
    Previously, we would decode the PEM wrapper for keys twice: once in
    get_next_token, and once later in PEM decode.  Now we just do all of
    the wrapper and base64 stuff in get_next_token, and store the
    base64-decoded part in the token object for keys and non-keys alike.
    
    This change should speed up parsing slightly by letting us skip a
    bunch of stuff in crypto_pk_read_*from_string(), including the tag
    detection parts of pem_decode(), and an extra key allocation and
    deallocation pair.
    
    Retaining the base64-decoded part in the token object will allow us
    to speed up our microdesc parsing, since it is the asn1 portion that
    we actually want to retain.
    05569422