Commit eae1bf6b authored by davidben's avatar davidben Committed by Commit bot

Fix SignWithOpenSSL in SSLPrivateKey tests.

EVP_PKEY operations are Windows-style with an in/out length parameter.
It must be initialized to the size of the buffer.

BUG=674179

Review-Url: https://codereview.chromium.org/2575683003
Cr-Commit-Position: refs/heads/master@{#438554}
parent b6c0b541
...@@ -117,12 +117,12 @@ bool SignWithOpenSSL(const EVP_MD* md, ...@@ -117,12 +117,12 @@ bool SignWithOpenSSL(const EVP_MD* md,
const base::StringPiece& digest, const base::StringPiece& digest,
EVP_PKEY* key, EVP_PKEY* key,
std::string* result) { std::string* result) {
size_t sig_len; size_t sig_len = EVP_PKEY_size(key);
bssl::UniquePtr<EVP_PKEY_CTX> ctx(EVP_PKEY_CTX_new(key, nullptr)); bssl::UniquePtr<EVP_PKEY_CTX> ctx(EVP_PKEY_CTX_new(key, nullptr));
if (!ctx || !EVP_PKEY_sign_init(ctx.get()) || if (!ctx || !EVP_PKEY_sign_init(ctx.get()) ||
!EVP_PKEY_CTX_set_signature_md(ctx.get(), md) || !EVP_PKEY_CTX_set_signature_md(ctx.get(), md) ||
!EVP_PKEY_sign(ctx.get(), OpenSSLWriteInto(result, EVP_PKEY_size(key)), !EVP_PKEY_sign(ctx.get(), OpenSSLWriteInto(result, sig_len), &sig_len,
&sig_len, reinterpret_cast<const uint8_t*>(digest.data()), reinterpret_cast<const uint8_t*>(digest.data()),
digest.size())) { digest.size())) {
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment