@@ -627,178 +627,3 @@ def renew_by_thumbprint(conn, prev_cert):
627627 print (prev_cert .subject .get_attributes_for_oid (NameOID .COMMON_NAME ))
628628 assert cert .subject .get_attributes_for_oid (NameOID .COMMON_NAME ) == prev_cert .subject .get_attributes_for_oid (
629629 NameOID .COMMON_NAME )
630-
631-
632- class TestLocalMethods (unittest .TestCase ):
633-
634- def test_parse_cloud_zone1 (self ):
635- conn = CloudConnection (token = "" )
636- p = conn ._parse_policy_response_to_object (json .loads (POLICY_CLOUD1 ))
637- self .assertEqual (p .id , "3da4ba30-c370-11e9-9e69-99559a9ae32a" )
638- self .assertEqual (p .SubjectCNRegexes [- 1 ], ".*.test" )
639- self .assertTrue (
640- p .SubjectCRegexes == p .SubjectLRegexes == p .SubjectORegexes == p .SubjectOURegexes == p .SubjectSTRegexes == [
641- ".*" ])
642- self .assertEqual (p .key_types [0 ].key_type , KeyType .RSA )
643- self .assertEqual (p .key_types [0 ].option , 2048 )
644- self .assertEqual (p .key_types [1 ].key_type , KeyType .RSA )
645- self .assertEqual (p .key_types [1 ].option , 4096 )
646- self .assertTrue (len (p .key_types ) == 2 )
647-
648- # cloud doesnt support ecdsa yet. may be can be enabled in the future
649- # def test_parse_cloud_zone2(self):
650- # conn = CloudConnection(token="")
651- # p = conn._parse_policy_responce_to_object(json.loads(POLICY_CLOUD2))
652- # self.assertTrue(len(p.key_types) == 2)
653- # self.assertEqual(p.key_types[1].key_type, KeyType.RSA)
654- # self.assertEqual(p.key_types[0].key_type, KeyType.ECDSA)
655- # self.assertEqual(p.key_types[0].key_curves, ["p521"])
656-
657- def test_parse_tpp_zone1 (self ):
658- conn = TPPConnection (url = "http://example.com/" , user = "" , password = "" )
659- z = conn ._parse_zone_data_to_object (json .loads (POLICY_TPP1 ))
660- self .assertEqual (z .country .value , "US" )
661- self .assertEqual (z .locality .value , "Salt Lake" )
662- self .assertEqual (z .province .value , "Utah" )
663- self .assertEqual (z .organization .value , "Venafi Inc." )
664-
665- def test_parse_tpp_policy1 (self ):
666- conn = TPPConnection (url = "http://example.com/" , user = "" , password = "" )
667- raw_data = json .loads (POLICY_TPP1 )
668- p = conn ._parse_zone_config_to_policy (raw_data )
669- self .assertEqual (len (p .key_types ), 7 )
670- raw_data ['Policy' ]['KeyPair' ]['KeySize' ]['Locked' ] = True
671- p = conn ._parse_zone_config_to_policy (raw_data )
672- self .assertEqual (len (p .key_types ), 4 )
673- raw_data ['Policy' ]['KeyPair' ]['KeyAlgorithm' ]['Locked' ] = True
674- p = conn ._parse_zone_config_to_policy (raw_data )
675- self .assertEqual (len (p .key_types ), 1 )
676-
677- def test_update_request_with_zone_config (self ):
678- r = CertificateRequest ()
679- z = ZoneConfig (
680- organization = CertField ("Venafi" ),
681- organizational_unit = CertField ("" ),
682- country = CertField ("" ),
683- province = CertField ("" ),
684- locality = CertField ("" ),
685- policy = None ,
686- key_type = None
687- )
688- r .update_from_zone_config (z )
689- self .assertEqual (r .organization , "Venafi" )
690- r = CertificateRequest (organization = "Test" )
691- r .update_from_zone_config (z )
692- self .assertEqual (r .organization , "Test" )
693- z = ZoneConfig (
694- organization = CertField ("Venafi" , locked = True ),
695- organizational_unit = CertField ("" ),
696- country = CertField ("" ),
697- province = CertField ("" ),
698- locality = CertField ("" ),
699- policy = None ,
700- key_type = None
701- )
702- r .update_from_zone_config (z )
703- self .assertEqual (r .organization , "Venafi" )
704-
705- def test_request_with_csr (self ):
706- req = CertificateRequest (common_name = "test.example.com" , csr = EXAMPLE_CSR )
707- self .assertEqual (req .common_name , "test.example.com" )
708- with self .assertRaises (Exception ):
709- CertificateRequest (common_name = "test2.example.com" , csr = EXAMPLE_CSR )
710- req = CertificateRequest (csr = EXAMPLE_CSR )
711- self .assertEqual (req .common_name , None )
712-
713- def test_generate_rsa_csr (self ):
714- req = CertificateRequest (common_name = "test.example.com" , key_type = KeyType ("rsa" , 2048 ))
715- req .build_csr ()
716- req = x509 .load_pem_x509_csr (req .csr .encode (), default_backend ())
717- self .assertEqual (req .public_key ().key_size , 2048 )
718-
719- def test_generate_ecdsa_csr (self ):
720- req = CertificateRequest (common_name = "test.exampe.com" , key_type = KeyType ("ecdsa" , "p384" ))
721- req .build_csr ()
722- req = x509 .load_pem_x509_csr (req .csr .encode (), default_backend ())
723- self .assertEqual (req .public_key ().curve .name , "secp384r1" )
724-
725- def test_generate_rsa_key (self ):
726- req = CertificateRequest (common_name = "test.example.com" , key_type = KeyType ("rsa" , 2048 ))
727- req ._gen_key ()
728- self .assertEqual (req .public_key .key_size , 2048 )
729-
730- def test_generate_ecdsa_key (self ):
731- req = CertificateRequest (common_name = "test.exampe.com" , key_type = KeyType ("ecdsa" , "p384" ))
732- req ._gen_key ()
733- self .assertEqual (req .public_key .curve .name , "secp384r1" )
734-
735- def test_parse_key_arguments (self ):
736- k = KeyType ("rsa" , 2048 )
737- self .assertEqual (k .key_type , k .RSA )
738- self .assertEqual (k .option , 2048 )
739- k = KeyType ("Rsa" , 4096 )
740- self .assertEqual (k .key_type , k .RSA )
741- self .assertEqual (k .option , 4096 )
742- k = KeyType ("ecdsa" , "secp256r1" )
743- self .assertEqual (k .key_type , k .ECDSA )
744- self .assertEqual (k .option , "p256" )
745- with self .assertRaises (Exception ):
746- k = KeyType ("ololo" , 2048 )
747- with self .assertRaises (Exception ):
748- k = KeyType ("ecdsa" , 2048 )
749- with self .assertRaises (Exception ):
750- k = KeyType ("ecdsa" , "secp256k1" )
751- with self .assertRaises (Exception ):
752- k = KeyType ("rsa" , "" )
753- with self .assertRaises (Exception ):
754- k = KeyType ("rsa" , 1024 )
755- with self .assertRaises (Exception ):
756- k = KeyType ("rsa" , None )
757-
758- def test_pass_invalid_key_type_to_request (self ):
759- with self .assertRaises (Exception ):
760- req = CertificateRequest (common_name = "test.example.com" , key_type = "rsa" )
761-
762- def test_return_pem_private_key (self ):
763- req = CertificateRequest (common_name = "test.example.com" , key_password = "ololo" )
764- req .build_csr ()
765- self .assertIn ("ENCRYPTED" , req .private_key_pem )
766- req = CertificateRequest (common_name = "test.example.com" )
767- req .build_csr ()
768- self .assertNotIn ("ENCRYPTED" , req .private_key_pem )
769-
770- def test_return_pem_csr (self ):
771- req = CertificateRequest (common_name = "test.example.com" )
772- req .build_csr ()
773- self .assertIn ("CERTIFICATE REQUEST" , req .csr )
774-
775- def test_return_pem_cert (self ):
776- conn = FakeConnection ()
777- req = CertificateRequest (common_name = "test.example.com" )
778- conn .request_cert (req , "" )
779- cert = conn .retrieve_cert (req )
780- self .assertIn ("BEGIN CERTIFICATE" , cert .cert )
781-
782- def test_tpp_url_normalization (self ):
783- conn = TPPConnection (url = "localhost" , user = "user" , password = "password" )
784- self .assertEqual (conn ._base_url , "https://localhost/" )
785- conn ._base_url = "http://localhost:8080"
786- self .assertEqual (conn ._base_url , "https://localhost:8080/" )
787- conn ._base_url = "http://localhost:8080/vedsdk"
788- self .assertEqual (conn ._base_url , "https://localhost:8080/" )
789- with self .assertRaises (Exception ):
790- conn ._base_url = "ftp://example.com"
791- with self .assertRaises (Exception ):
792- conn ._base_url = ""
793- with self .assertRaises (Exception ):
794- conn ._base_url = "https://"
795-
796- def test_parse_pem_chain (self ):
797- cert = parse_pem (EXAMPLE_CHAIN , "last" )
798- self .assertEqual (len (cert .chain ), 2 )
799- self .assertIn ("PRIVATE" , cert .key )
800- c = x509 .load_pem_x509_certificate (cert .cert .encode (), default_backend ())
801- for a in c .subject :
802- if a .oid == x509 .NameOID .COMMON_NAME :
803- subject = a .value
804- self .assertEqual (subject , "test2.example.com" )
0 commit comments