Source release 17.1.0
This commit is contained in:
45
oem_certificate_generator/oem_certificate_test.py
Normal file → Executable file
45
oem_certificate_generator/oem_certificate_test.py
Normal file → Executable file
@@ -1,10 +1,11 @@
|
||||
#!/usr/bin/python3
|
||||
# Copyright 2017 Google LLC. All Rights Reserved.
|
||||
|
||||
import base64
|
||||
import datetime
|
||||
import io
|
||||
import os
|
||||
import shutil
|
||||
import StringIO
|
||||
import tempfile
|
||||
import textwrap
|
||||
import unittest
|
||||
@@ -105,11 +106,11 @@ class OemCertificateTest(unittest.TestCase):
|
||||
|
||||
def test_generate_csr_with_keysize4096_and_passphrase(self):
|
||||
args = oem_cert_test_helper.setup_csr_args(
|
||||
key_size=4096, passphrase='passphrase_4096')
|
||||
key_size=4096, passphrase=b'passphrase_4096')
|
||||
oem_certificate.generate_csr(args)
|
||||
private_key = serialization.load_der_private_key(
|
||||
args.output_private_key_file.getvalue(),
|
||||
'passphrase_4096',
|
||||
b'passphrase_4096',
|
||||
backend=backends.default_backend())
|
||||
csr = x509.load_pem_x509_csr(args.output_csr_file.getvalue(),
|
||||
backends.default_backend())
|
||||
@@ -155,7 +156,7 @@ class OemCertificateTest(unittest.TestCase):
|
||||
_, root_certificate2 = oem_cert_test_helper.create_root_certificate_and_key(
|
||||
)
|
||||
args = oem_cert_test_helper.setup_intermediate_cert_args(
|
||||
'some csr data', root_key1, root_certificate2)
|
||||
b'some csr data', root_key1, root_certificate2)
|
||||
with self.assertRaises(ValueError) as context:
|
||||
oem_certificate.generate_intermediate_certificate(args)
|
||||
self.assertTrue('certificate does not match' in str(context.exception))
|
||||
@@ -232,19 +233,19 @@ class OemCertificateTest(unittest.TestCase):
|
||||
intermediate_key_bytes,
|
||||
intermediate_certificate_bytes,
|
||||
key_size=4096,
|
||||
passphrase='leaf passphrase')
|
||||
passphrase=b'leaf passphrase')
|
||||
oem_certificate.generate_leaf_certificate(args)
|
||||
leaf_key = serialization.load_der_private_key(
|
||||
args.output_private_key_file.getvalue(),
|
||||
'leaf passphrase',
|
||||
b'leaf passphrase',
|
||||
backend=backends.default_backend())
|
||||
self.assertEqual(4096, leaf_key.key_size)
|
||||
|
||||
def test_get_csr_info(self):
|
||||
args = oem_cert_test_helper.setup_csr_args()
|
||||
oem_certificate.generate_csr(args)
|
||||
args.file = StringIO.StringIO(args.output_csr_file.getvalue())
|
||||
output = StringIO.StringIO()
|
||||
args.file = io.BytesIO(args.output_csr_file.getvalue())
|
||||
output = io.StringIO()
|
||||
oem_certificate.get_info(args, output)
|
||||
expected_info = """\
|
||||
CSR Subject Name:
|
||||
@@ -261,8 +262,8 @@ class OemCertificateTest(unittest.TestCase):
|
||||
oem_cert_test_helper.create_intermediate_certificate_and_key_bytes(
|
||||
pem_format=True))
|
||||
args = ArgParseObject()
|
||||
args.file = StringIO.StringIO(intermediate_certificate_bytes)
|
||||
output = StringIO.StringIO()
|
||||
args.file = io.BytesIO(intermediate_certificate_bytes)
|
||||
output = io.StringIO()
|
||||
oem_certificate.get_info(args, output)
|
||||
expected_info = """\
|
||||
Certificate Subject Name:
|
||||
@@ -284,8 +285,8 @@ class OemCertificateTest(unittest.TestCase):
|
||||
oem_cert_test_helper.create_intermediate_certificate_and_key_bytes(
|
||||
pem_format=False))
|
||||
args = ArgParseObject()
|
||||
args.file = StringIO.StringIO(intermediate_certificate_bytes)
|
||||
output = StringIO.StringIO()
|
||||
args.file = io.BytesIO(intermediate_certificate_bytes)
|
||||
output = io.StringIO()
|
||||
oem_certificate.get_info(args, output)
|
||||
expected_info = """\
|
||||
Certificate Subject Name:
|
||||
@@ -308,8 +309,8 @@ class OemCertificateTest(unittest.TestCase):
|
||||
args = oem_cert_test_helper.setup_leaf_cert_args(
|
||||
intermediate_key_bytes, intermediate_certificate_bytes)
|
||||
oem_certificate.generate_leaf_certificate(args)
|
||||
args.file = StringIO.StringIO(args.output_certificate_file.getvalue())
|
||||
output = StringIO.StringIO()
|
||||
args.file = io.BytesIO(args.output_certificate_file.getvalue())
|
||||
output = io.StringIO()
|
||||
oem_certificate.get_info(args, output)
|
||||
expected_info = """\
|
||||
Certificate Subject Name:
|
||||
@@ -394,8 +395,8 @@ class OemCertificateTest(unittest.TestCase):
|
||||
'nm0mTbNTgcC673L5YA8qpQkAzk9vLg4UaslMbPfeKM8rqduJFcjTyVY3C4jBC0qxf6z6'
|
||||
'vpWbEO7UpHHdfvWe9DEBODFbyXMxAA==')
|
||||
args = oem_cert_test_helper.ArgParseObject()
|
||||
args.file = StringIO.StringIO(base64.b64decode(data_b64))
|
||||
output = StringIO.StringIO()
|
||||
args.file = io.BytesIO(base64.b64decode(data_b64))
|
||||
output = io.StringIO()
|
||||
oem_certificate.get_info(args, output)
|
||||
expected_info = """\
|
||||
Certificate Subject Name:
|
||||
@@ -469,7 +470,7 @@ class OemCertificateArgParseTest(unittest.TestCase):
|
||||
self.assertEqual(args.output_csr_file.mode, 'wb')
|
||||
self.assertEqual(args.output_private_key_file.name, output_private_key_file)
|
||||
self.assertEqual(args.output_private_key_file.mode, 'wb')
|
||||
self.assertEqual(args.passphrase, 'pass')
|
||||
self.assertEqual(args.passphrase, b'pass')
|
||||
self.assertEqual(args.func, oem_certificate.generate_csr)
|
||||
self.assertIsNone(args.common_name)
|
||||
|
||||
@@ -494,13 +495,13 @@ class OemCertificateArgParseTest(unittest.TestCase):
|
||||
self.assertEqual(args.output_csr_file.mode, 'wb')
|
||||
self.assertEqual(args.output_private_key_file.name, output_private_key_file)
|
||||
self.assertEqual(args.output_private_key_file.mode, 'wb')
|
||||
self.assertEqual(args.passphrase, 'pass')
|
||||
self.assertEqual(args.passphrase, b'pass')
|
||||
self.assertEqual(args.common_name, 'MyCommonName')
|
||||
self.assertEqual(args.func, oem_certificate.generate_csr)
|
||||
|
||||
def _fill_file_with_dummy_contents(self, file_name):
|
||||
with open(file_name, 'wb') as f:
|
||||
f.write('dummy')
|
||||
f.write(b'dummy')
|
||||
|
||||
def test_generate_csr_invalid_key_size(self):
|
||||
cmds = ('generate_csr --key_size unknown -C USA -ST WA '
|
||||
@@ -548,7 +549,7 @@ class OemCertificateArgParseTest(unittest.TestCase):
|
||||
self.assertEqual(args.root_certificate_file.mode, 'rb')
|
||||
self.assertEqual(args.root_private_key_file.name, root_private_key_file)
|
||||
self.assertEqual(args.root_private_key_file.mode, 'rb')
|
||||
self.assertEqual(args.root_private_key_passphrase, 'root_key')
|
||||
self.assertEqual(args.root_private_key_passphrase, b'root_key')
|
||||
self.assertEqual(args.output_certificate_file.name, output_certificate_file)
|
||||
self.assertEqual(args.output_certificate_file.mode, 'wb')
|
||||
self.assertEqual(args.func,
|
||||
@@ -586,12 +587,12 @@ class OemCertificateArgParseTest(unittest.TestCase):
|
||||
intermediate_private_key_file)
|
||||
self.assertEqual(args.intermediate_private_key_file.mode, 'rb')
|
||||
self.assertEqual(args.intermediate_private_key_passphrase,
|
||||
'intermediate_key')
|
||||
b'intermediate_key')
|
||||
self.assertEqual(args.output_certificate_file.name, output_certificate_file)
|
||||
self.assertEqual(args.output_certificate_file.mode, 'wb')
|
||||
self.assertEqual(args.output_private_key_file.name, output_private_key_file)
|
||||
self.assertEqual(args.output_private_key_file.mode, 'wb')
|
||||
self.assertEqual(args.passphrase, 'leaf_key')
|
||||
self.assertEqual(args.passphrase, b'leaf_key')
|
||||
self.assertEqual(args.func, oem_certificate.generate_leaf_certificate)
|
||||
|
||||
def test_generate_leaf_cert_invalid_date(self):
|
||||
|
||||
Reference in New Issue
Block a user