From 1d447683cb73519f461bb211baf4192e1a689d3d Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sat, 23 Jul 2016 05:06:14 -0700 Subject: [PATCH] x509: refactor. --- lib/bcoin/bip70/x509.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/bcoin/bip70/x509.js b/lib/bcoin/bip70/x509.js index 2c528eac..ba30babc 100644 --- a/lib/bcoin/bip70/x509.js +++ b/lib/bcoin/bip70/x509.js @@ -49,12 +49,13 @@ x509.getCAName = function getCAName(cert) { }; x509.setTrust = function setTrust(certs) { - var keys = Object.keys(certs); - var i, key, cert, pem, fingerprint, hash, trust; + var i, cert, pem, fingerprint, hash, trust; - for (i = 0; i < keys.length; i++) { - key = keys[i]; - cert = certs[key]; + if (!Array.isArray(certs)) + certs = [certs]; + + for (i = 0; i < certs.length; i++) { + cert = certs[i]; if (typeof cert === 'string') { pem = asn1.fromPEM(cert); @@ -70,6 +71,9 @@ x509.setTrust = function setTrust(certs) { fingerprint = utils.sha256(cert.raw); hash = fingerprint.toString('hex'); + if (x509.trusted[hash]) + continue; + trust = { name: x509.getCAName(cert), fingerprint: fingerprint