1616from cryptojwt .exception import UnsupportedAlgorithm
1717from cryptojwt .exception import WrongUsage
1818from cryptojwt .jwk import JWK
19+ from cryptojwt .jwk import certificate_fingerprint
1920from cryptojwt .jwk import pem_hash
2021from cryptojwt .jwk import pems_to_x5c
2122from cryptojwt .jwk .ec import NIST2SEC
2829from cryptojwt .jwk .jwk import jwk_wrap
2930from cryptojwt .jwk .jwk import key_from_jwk_dict
3031from cryptojwt .jwk .rsa import RSAKey
32+ from cryptojwt .jwk .rsa import generate_and_store_rsa_key
3133from cryptojwt .jwk .rsa import import_private_rsa_key_from_file
3234from cryptojwt .jwk .rsa import import_public_rsa_key_from_file
3335from cryptojwt .jwk .rsa import import_rsa_key_from_cert_file
@@ -654,4 +656,26 @@ def test_pem_to_x5c():
654656
655657def test_pem_hash ():
656658 _hash = pem_hash (full_path ("cert.pem" ))
657- assert _hash
659+ assert _hash
660+
661+
662+ def test_certificate_fingerprint ():
663+ with open (full_path ('cert.der' ), 'rb' ) as cert_file :
664+ der = cert_file .read ()
665+
666+ res = certificate_fingerprint (der )
667+ assert res == '01:DF:F1:D4:5F:21:7B:2E:3A:A2:D8:CA:13:4C:41:66:03:A1:EF:3E:7B:5E:8B:69:04:5E:80:8B:55:49:F1:48'
668+
669+ res = certificate_fingerprint (der , 'sha1' )
670+ assert res == 'CA:CF:21:9E:72:00:CD:1C:CA:FD:4F:6D:84:6B:9E:E8:74:80:47:64'
671+
672+ res = certificate_fingerprint (der , 'md5' )
673+ assert res == '1B:2B:3B:F8:49:EE:2A:2C:C1:C7:6C:88:86:AB:C6:EE'
674+
675+ with pytest .raises (UnsupportedAlgorithm ):
676+ certificate_fingerprint (der , 'foo' )
677+
678+
679+ def test_generate_and_store_rsa_key ():
680+ priv_key = generate_and_store_rsa_key (filename = full_path ('temp_rsa.key' ))
681+
0 commit comments