electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit aadffa0c8f438ace747489e77978c247c9cb2602
parent a9e74da11c8db7e19f69128fde0d15de426c7696
Author: ThomasV <thomasv@gitorious>
Date:   Wed,  5 Aug 2015 20:59:51 +0200

check_ssl_config: verify pubkey

Diffstat:
Mlib/paymentrequest.py | 15+++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lib/paymentrequest.py b/lib/paymentrequest.py @@ -337,14 +337,21 @@ def check_ssl_config(config): cert_path = config.get('ssl_chain') with open(key_path, 'r') as f: params = pem.parse_private_key(f.read()) - privkey = rsakey.RSAKey(*params) with open(cert_path, 'r') as f: s = f.read() - bList = pem.dePemList(s, "CERTIFICATE") + bList = pem.dePemList(s, "CERTIFICATE") # verify chain x, ca = verify_cert_chain(bList) - # verify pubkey - return x.get_common_name() + # verify that privkey and pubkey match + privkey = rsakey.RSAKey(*params) + pubkey = rsakey.RSAKey(x.modulus, x.exponent) + assert x.modulus == params[0] + assert x.exponent == params[1] + # return requestor + requestor = x.get_common_name() + if requestor.startswith('*.'): + requestor = requestor[2:] + return requestor def sign_request_with_x509(pr, key_path, cert_path): import pem