コード例 #1
0
 def test_import_rsa_key(self):
     KeychainManager.generate_rsa_key(self.rsa_file_path, 2048)
     km = KeychainManager("some_keychain")
     km.create()
     self.assertTrue('1 key imported' in km.import_rsa_key(self.rsa_file_path))
     km.delete()
     os.unlink(self.rsa_file_path)
コード例 #2
0
 def test_csr_cert(self):
     KeychainManager.generate_rsa_key(self.rsa_file_path)
     self.assertTrue(os.path.exists(self.rsa_file_path))
     KeychainManager.generate_cert_request(
         '*****@*****.**',
         'US',
         self.rsa_file_path,
         self.csr_file_path
     )
     self.assertTrue(os.path.exists(self.rsa_file_path))
     self.assertTrue(os.path.exists(self.csr_file_path))
     os.unlink(self.rsa_file_path)
     os.unlink(self.csr_file_path)
コード例 #3
0
 def test_filename_keychain(self):
     km = KeychainManager("some_keychain")
     self.assertFalse(km.exists())
     self.assertEqual(km.filename, None)
     km.create()
     self.assertNotEqual(km.filename, None)
     km.delete()
     self.assertFalse(km.exists())
コード例 #4
0
    def test_should_transform_binary_der_format_to_ascii_pem(self):
        pem_path = KeychainManager.transform_der_to_pem('ios_distribution.cer')

        with open(pem_path) as f:
            content = f.readlines()

        self.assertEquals('-----BEGIN CERTIFICATE-----\n', content[0])
        self.assertEquals('-----END CERTIFICATE-----\n', content[-1])
        self.assertEquals(len(content), 33)
コード例 #5
0
 def test_password_output(self):
     result = KeychainManager._password_from_output(OUTPUT)
     self.assertEqual(
         result,
         {
             'acct': '*****@*****.**',
             'atyp': 'form',
             'desc': 'Web form password',
             'icmt': 'default',
             'keychain': '/Users/username/Library/Keychains/login.keychain',
             'password': '******',
             'ptcl': 'htps',
             'srvr': 'daw.apple.com',
         }
     )
コード例 #6
0
 def test_login_keychain(self):
     self.assertTrue("login" in KeychainManager.login_keychain())
コード例 #7
0
 def test_default_keychain(self):
     self.assertNotEqual(KeychainManager.default_keychain(), "")
コード例 #8
0
 def test_keychain_files(self):
     files = KeychainManager.keychain_files()
     self.assertNotEqual(files, [])
     self.assertTrue('/Library/Keychains/System.keychain' in files)
コード例 #9
0
 def test_create_keychain(self):
     km = KeychainManager("some_keychain")
     km.create()
     self.assertTrue(km.exists())
     km.delete()
     self.assertFalse(km.exists())
コード例 #10
0
 def test_generic_password_management(self):
     kcm = KeychainManager('some_keychain')
     kcm.create()
     kcm.add_generic_password('*****@*****.**', 'someservice', 'testpass')
     result = kcm.find_generic_password({'service': 'someservice'})
     self.assertTrue('password' in result)
     kcm.delete_generic_password({'service': 'someservice'})
     self.assertRaises(
         subprocess.CalledProcessError,
         lambda: kcm.find_generic_password({'service': 'someservice'})
     )
     kcm.delete()
コード例 #11
0
 def test_default_keychain_manager(self):
     kcm = KeychainManager()
     self.assertTrue(kcm.exists())
     self.assertTrue("login" in kcm.filename)
     self.assertRaises(KeychainException, lambda: kcm.create())
     self.assertRaises(KeychainException, lambda: kcm.delete())
コード例 #12
0
    def test_should_get_common_name_from_pem_cert(self):
        common_name = KeychainManager.get_common_name('ios_distribution.pem')

        self.assertEquals('iPhone Distribution: Andrey Samohin (77GG9C5M2S)', common_name)