Skip to content
  1. Feb 17, 2019
    • David Benjamin's avatar
      Fix some CFI issues in x86_64 assembly · 2086edb7
      David Benjamin authored
      
      
      The add/double shortcut in ecp_nistz256-x86_64.pl left one instruction
      point that did not unwind, and the "slow" path in AES_cbc_encrypt was
      not annotated correctly. For the latter, add
      .cfi_{remember,restore}_state support to perlasm.
      
      Next, fill in a bunch of functions that are missing no-op .cfi_startproc
      and .cfi_endproc blocks. libunwind cannot unwind those stack frames
      otherwise.
      
      Finally, work around a bug in libunwind by not encoding rflags. (rflags
      isn't a callee-saved register, so there's not much need to annotate it
      anyway.)
      
      These were found as part of ABI testing work in BoringSSL.
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      GH: #8109
      (cherry picked from commit c0e8e500)
      2086edb7
  2. Feb 13, 2019
  3. Feb 11, 2019
  4. Feb 10, 2019
  5. Feb 08, 2019
    • Todd Short's avatar
      Fix d2i_PublicKey() for EC keys · 3dbec21b
      Todd Short authored
      
      
      o2i_ECPublicKey() requires an EC_KEY structure filled with an EC_GROUP.
      
      o2i_ECPublicKey() is called by d2i_PublicKey(). In order to fulfill the
      o2i_ECPublicKey()'s requirement, d2i_PublicKey() needs to be called with
      an EVP_PKEY with an EC_KEY containing an EC_GROUP.
      
      However, the call to EVP_PKEY_set_type() frees any existing key structure
      inside the EVP_PKEY, thus freeing the EC_KEY with the EC_GROUP that
      o2i_ECPublicKey() needs.
      
      This means you can't d2i_PublicKey() for an EC key...
      
      The fix is to check to see if the type is already set appropriately, and
      if so, not call EVP_PKEY_set_type().
      
      Reviewed-by: default avatarPaul Yang <yang.yang@baishancloud.com>
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/8168)
      
      (cherry picked from commit 2aa2beb0)
      3dbec21b
  6. Feb 05, 2019
  7. Jan 31, 2019
  8. Jan 29, 2019
  9. Jan 27, 2019
  10. Jan 24, 2019
  11. Jan 21, 2019
  12. Jan 16, 2019
  13. Jan 15, 2019
  14. Jan 07, 2019
  15. Jan 04, 2019
  16. Jan 03, 2019
  17. Dec 31, 2018
  18. Dec 23, 2018
  19. Dec 22, 2018
  20. Dec 20, 2018
    • Ken Goldman's avatar
      Admit unknown pkey types at security level 0 · ea7d2c58
      Ken Goldman authored
      
      
      The check_key_level() function currently fails when the public key
      cannot be extracted from the certificate because its algorithm is not
      supported.  However, the public key is not needed for the last
      certificate in the chain.
      
      This change moves the check for level 0 before the check for a
      non-NULL public key.
      
      For background, this is the TPM 1.2 endorsement key certificate.
      I.e., this is a real application with millions of certificates issued.
      The key is an RSA-2048 key.
      
      The TCG (for a while) specified
      
           Public Key Algorithm: rsaesOaep
      
      rather than the commonly used
      
           Public Key Algorithm: rsaEncryption
      
      because the key is an encryption key rather than a signing key.
      The X509 certificate parser fails to get the public key.
      
      Reviewed-by: default avatarViktor Dukhovni <viktor@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/7906)
      ea7d2c58
  21. Dec 14, 2018
  22. Dec 13, 2018
  23. Dec 11, 2018
  24. Dec 10, 2018