Added test for random certificate serial numbers from gen_ss_cert.

This commit is contained in:
chrismarget 2016-05-17 19:50:57 +00:00
parent f7b10bb83e
commit 85e9624555

View file

@ -8,6 +8,8 @@ import unittest
import six
from six.moves import socketserver # pylint: disable=import-error
import OpenSSL
from acme import errors
from acme import jose
from acme import test_util
@ -126,5 +128,23 @@ class PyOpenSSLCertOrReqSANTest(unittest.TestCase):
self._get_idn_names())
class RandomSnTest(unittest.TestCase):
"""Test for random certificate serial numbers."""
def setUp(self):
self.certCount = 5
self.serialNum = []
self.key = OpenSSL.crypto.PKey()
self.key.generate_key(OpenSSL.crypto.TYPE_RSA, 2048)
def test_sn_collisions(self):
from acme.crypto_util import gen_ss_cert
for _ in range(self.certCount):
cert = gen_ss_cert(self.key, ['dummy'], force_san=True)
self.serialNum.append(cert.get_serial_number())
self.assertTrue(len(set(self.serialNum)) > 1)
if __name__ == '__main__':
unittest.main() # pragma: no cover