mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
47135def05
commit
85dd19cf38
2 changed files with 8 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Fri Nov 13 14:00:43 2015 Zachary Scott <zzak@ruby-lang.org>
|
||||||
|
|
||||||
|
* ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]
|
||||||
|
|
||||||
Fri Nov 13 13:09:16 2015 Zachary Scott <zzak@ruby-lang.org>
|
Fri Nov 13 13:09:16 2015 Zachary Scott <zzak@ruby-lang.org>
|
||||||
|
|
||||||
* ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30
|
* ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30
|
||||||
|
|
|
@ -289,6 +289,7 @@ ossl_pkey_sign(VALUE self, VALUE digest, VALUE data)
|
||||||
EVP_MD_CTX ctx;
|
EVP_MD_CTX ctx;
|
||||||
unsigned int buf_len;
|
unsigned int buf_len;
|
||||||
VALUE str;
|
VALUE str;
|
||||||
|
int result;
|
||||||
|
|
||||||
if (rb_funcallv(self, id_private_q, 0, NULL) != Qtrue) {
|
if (rb_funcallv(self, id_private_q, 0, NULL) != Qtrue) {
|
||||||
ossl_raise(rb_eArgError, "Private key is needed.");
|
ossl_raise(rb_eArgError, "Private key is needed.");
|
||||||
|
@ -298,7 +299,9 @@ ossl_pkey_sign(VALUE self, VALUE digest, VALUE data)
|
||||||
StringValue(data);
|
StringValue(data);
|
||||||
EVP_SignUpdate(&ctx, RSTRING_PTR(data), RSTRING_LEN(data));
|
EVP_SignUpdate(&ctx, RSTRING_PTR(data), RSTRING_LEN(data));
|
||||||
str = rb_str_new(0, EVP_PKEY_size(pkey)+16);
|
str = rb_str_new(0, EVP_PKEY_size(pkey)+16);
|
||||||
if (!EVP_SignFinal(&ctx, (unsigned char *)RSTRING_PTR(str), &buf_len, pkey))
|
result = EVP_SignFinal(&ctx, (unsigned char *)RSTRING_PTR(str), &buf_len, pkey)
|
||||||
|
EVP_MD_CTX_cleanup(&ctx);
|
||||||
|
if (!result)
|
||||||
ossl_raise(ePKeyError, NULL);
|
ossl_raise(ePKeyError, NULL);
|
||||||
assert((long)buf_len <= RSTRING_LEN(str));
|
assert((long)buf_len <= RSTRING_LEN(str));
|
||||||
rb_str_set_len(str, buf_len);
|
rb_str_set_len(str, buf_len);
|
||||||
|
|
Loading…
Reference in a new issue