Example #1
0
    def test_creating_cert(self):
        """Test creating a certificate."""

        certificate = keyper.Certificate(AppleKeychainTests.TEST_CERT_PATH, password=AppleKeychainTests.TEST_CERT_PASSWORD)
        self.assertEqual(certificate.sha1, "75:22:4C:AD:D6:A0:BD:0C:88:5F:B1:77:85:2F:83:A4:F6:80:69:70")
        self.assertEqual(certificate.common_name, "TestCertificate_CodeSign")
        self.assertEqual(certificate.private_key_name, "TestCertificate_CodeSign")
Example #2
0
    def test_adding_cert(self):
        """Test that we can add a cert to the keychain."""

        with keyper.TemporaryKeychain() as keychain:
            certificate = keyper.Certificate(
                AppleKeychainTests.TEST_CERT_PATH,
                password=AppleKeychainTests.TEST_CERT_PASSWORD)
            keychain.install_cert(certificate)
Example #3
0
    def test_adding_cert(self):
        """Test that we can add a cert to the keychain."""

        with keyper.TemporaryKeychain() as keychain:
            certificate = keyper.Certificate(
                KeyperCertificateTests.TEST_CERT_PATH,
                password=KeyperCertificateTests.TEST_CERT_PASSWORD)
            self.assertEqual(certificate.path,
                             KeyperCertificateTests.TEST_CERT_PATH)
            self.assertEqual(certificate.password,
                             KeyperCertificateTests.TEST_CERT_PASSWORD)
            keychain.install_cert(certificate)
Example #4
0
    def test_using_codesign(self):
        """Test that an added cert works with codesign."""

        with keyper.TemporaryKeychain() as keychain:
            certificate = keyper.Certificate(AppleKeychainTests.TEST_CERT_PATH, password=AppleKeychainTests.TEST_CERT_PASSWORD)
            keychain.install_cert(certificate)

            temp_file_path = tempfile.mktemp()

            with open(temp_file_path, 'w') as temp_file:
                temp_file.write("Test")

            try:
                subprocess.run(
                    f"codesign -s TestCertificate_CodeSign --keychain {keychain.path} {temp_file_path}",
                    shell=True,
                    check=True
                )
            finally:
                if os.path.exists(temp_file_path):
                    os.remove(temp_file_path)