Browse Source

crypto: show exponent in decimal and hex

The exponent value was already in hex, but missing the 0x prefix which
could be confusing.

PR-URL: https://github.com/nodejs/io.js/pull/2320
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
v4.0.0-rc
Chad Johnston 10 years ago
committed by Ben Noordhuis
parent
commit
847459c29b
  1. 4
      src/node_crypto.cc
  2. 2
      test/parallel/test-https-foafssl.js
  3. 1
      test/parallel/test-tls-peer-certificate.js

4
src/node_crypto.cc

@ -1371,7 +1371,9 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
String::kNormalString, mem->length));
(void) BIO_reset(bio);
BN_print(bio, rsa->e);
unsigned long exponent_word = BN_get_word(rsa->e);
BIO_printf(bio, "0x%lx", exponent_word);
BIO_get_mem_ptr(bio, &mem);
info->Set(env->exponent_string(),
String::NewFromUtf8(env->isolate(), mem->data,

2
test/parallel/test-https-foafssl.js

@ -83,5 +83,5 @@ process.on('exit', function() {
'FDA7DE954ED56DC7AD9A47EEBC37D771A366FC60A5BCB72373BEC180649B3EFA0E90' +
'92707210B41B90032BB18BC91F2046EBDAF1191F4A4E26D71879C4C7867B62FCD508' +
'E8CE66E82D128A71E915809FCF44E8DE774067F1DE5D70B9C03687');
assert.equal(exponent, '10001');
assert.equal(exponent, '0x10001');
});

1
test/parallel/test-tls-peer-certificate.js

@ -38,6 +38,7 @@ server.listen(common.PORT, function() {
common.debug(util.inspect(peerCert));
assert.equal(peerCert.subject.emailAddress, 'ry@tinyclouds.org');
assert.equal(peerCert.serialNumber, '9A84ABCFB8A72AC0');
assert.equal(peerCert.exponent, '0x10001');
assert.deepEqual(peerCert.infoAccess['OCSP - URI'],
[ 'http://ocsp.nodejs.org/' ]);

Loading…
Cancel
Save