16
16
from cryptojwt .exception import UnsupportedAlgorithm
17
17
from cryptojwt .exception import WrongUsage
18
18
from cryptojwt .jwk import JWK
19
+ from cryptojwt .jwk import certificate_fingerprint
19
20
from cryptojwt .jwk import pem_hash
20
21
from cryptojwt .jwk import pems_to_x5c
21
22
from cryptojwt .jwk .ec import NIST2SEC
28
29
from cryptojwt .jwk .jwk import jwk_wrap
29
30
from cryptojwt .jwk .jwk import key_from_jwk_dict
30
31
from cryptojwt .jwk .rsa import RSAKey
32
+ from cryptojwt .jwk .rsa import generate_and_store_rsa_key
31
33
from cryptojwt .jwk .rsa import import_private_rsa_key_from_file
32
34
from cryptojwt .jwk .rsa import import_public_rsa_key_from_file
33
35
from cryptojwt .jwk .rsa import import_rsa_key_from_cert_file
@@ -654,4 +656,26 @@ def test_pem_to_x5c():
654
656
655
657
def test_pem_hash ():
656
658
_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