Skip to content
Snippets Groups Projects
  • Ben Ford's avatar
    9acf840f
    res_stir_shaken: Implemented signature verification. · 9acf840f
    Ben Ford authored
    There are a lot of moving parts in this patch, but the focus of it is on
    the verification of the signature using a public key located at the
    public key URL provided in the JSON payload. First, we check the
    database to see if we have already downloaded the key. If so, check to
    see if it has expired. If it has, redownload from the URL. If we don't
    have an entry in the database, just go ahead and download the public
    key. The expiration is tested each time we download the file. After
    that, read the public key from the file and use it to verify the
    signature. All sanity checking is done when the payload is first
    received, so the verification is complete once this point is reached.
    
    The XML has also been added since a new config option was added to
    general (curl_timeout). The maximum amount of time to wait for a
    download can be configured through this option, with a low value by
    default.
    
    Change-Id: I3ba4c63880493bf8c7d17a9cfca1af0e934d1a1c
    9acf840f
    History
    res_stir_shaken: Implemented signature verification.
    Ben Ford authored
    There are a lot of moving parts in this patch, but the focus of it is on
    the verification of the signature using a public key located at the
    public key URL provided in the JSON payload. First, we check the
    database to see if we have already downloaded the key. If so, check to
    see if it has expired. If it has, redownload from the URL. If we don't
    have an entry in the database, just go ahead and download the public
    key. The expiration is tested each time we download the file. After
    that, read the public key from the file and use it to verify the
    signature. All sanity checking is done when the payload is first
    received, so the verification is complete once this point is reached.
    
    The XML has also been added since a new config option was added to
    general (curl_timeout). The maximum amount of time to wait for a
    download can be configured through this option, with a low value by
    default.
    
    Change-Id: I3ba4c63880493bf8c7d17a9cfca1af0e934d1a1c