示例#1
0
 def test_cert_parse_elements(self):
   for key, cert in KEY_FILE_PAIRS:
     data = self.data[cert]
     dict = x509_pem.parse(data)
     self.assertEqual(dict['subject'], X509_SUBJECT)
     for part, dtype in X509_PARTS:
       self.assertTrue(part in dict)
       self.assertTrue(isinstance(dict[part], dtype))
示例#2
0
 def test_cert_parse_elements(self):
   for key, cert in KEY_FILE_PAIRS:
     data = self.data[cert]
     dict = x509_pem.parse(data)
     self.assertEqual(dict['subject'], X509_SUBJECT)
     for part, dtype in X509_PARTS:
       self.assertTrue(part in dict)
       self.assertTrue(isinstance(dict[part], dtype))
示例#3
0
 def test_cert_parse(self):
   for key, cert in KEY_FILE_PAIRS:
     data = self.data[cert]
     self.assertTrue(data)
     dict = x509_pem.parse(data)
     self.assertTrue(dict)
     # 20 chars is enough of a sanity check
     self.assertTrue(dict['body'][:20] in data)
     self.assertEqual(dict['type'], "X509 CERTIFICATE")
示例#4
0
 def setUp(self):
   self.dicts = {}
   for key, cert in KEY_FILE_PAIRS:
     with open(key, "r") as f:
       data = f.read()
       self.dicts[key] = rsa_pem.parse(data)
     with open(cert, "r") as f:
       data = f.read()
       self.dicts[cert] = x509_pem.parse(data)
示例#5
0
 def test_cert_parse(self):
   for key, cert in KEY_FILE_PAIRS:
     data = self.data[cert]
     self.assertTrue(data)
     dict = x509_pem.parse(data)
     self.assertTrue(dict)
     # 20 chars is enough of a sanity check
     self.assertTrue(dict['body'][:20] in data)
     self.assertEqual(dict['type'], "X509 CERTIFICATE")
示例#6
0
 def setUp(self):
   self.dicts = {}
   for key, cert in KEY_FILE_PAIRS:
     with open(key, "r") as f:
       data = f.read()
       self.dicts[key] = rsa_pem.parse(data)
     with open(cert, "r") as f:
       data = f.read()
       self.dicts[cert] = x509_pem.parse(data)
示例#7
0
  def setUp(self):
    self.keys = {}

    for key, cert in KEY_FILE_PAIRS:
      with open(key, "r") as f:
        data = f.read()
        dict = rsa_pem.parse(data)
        t = rsa_pem.dict_to_tuple(dict)
        self.keys[key] = RSA.construct(t)
      with open(cert, "r") as f:
        data = f.read()
        dict = x509_pem.parse(data)
        t = x509_pem.dict_to_tuple(dict)
        self.keys[cert] = RSA.construct(t)
示例#8
0
  def setUp(self):
    self.keys = {}

    for key, cert in KEY_FILE_PAIRS:
      with open(key, "r") as f:
        data = f.read()
        dict = rsa_pem.parse(data)
        t = rsa_pem.dict_to_tuple(dict)
        self.keys[key] = RSA.construct(t)
      with open(cert, "r") as f:
        data = f.read()
        dict = x509_pem.parse(data)
        t = x509_pem.dict_to_tuple(dict)
        self.keys[cert] = RSA.construct(t)
示例#9
0
def parse(data):
    """Return parsed dictionary from parsed PEM file; based on header.

  Args:
    data: str of PEM file data
  Returns:
    {str:str} as returned from appropriate *_parse parser
  """
    if "RSA PRIVATE" in data:
        dict = rsa_pem.parse(data)
    elif "CERTIFICATE" in data:
        dict = x509_pem.parse(data)
    else:
        raise Exception("PEM data type not supported.")
    return dict
示例#10
0
def parse(data):
  """Return parsed dictionary from parsed PEM file; based on header.

  Args:
    data: str of PEM file data
  Returns:
    {str:str} as returned from appropriate *_parse parser
  """
  if "RSA PRIVATE" in data:
    dict = rsa_pem.parse(data)
  elif "CERTIFICATE" in data:
    dict = x509_pem.parse(data)
  else:
    raise Exception("PEM data type not supported.")
  return dict
示例#11
0
def get_public_key(cert):
    from x509_pem import parse
    cert_dict = parse(cert)

    return cert_dict['modulus'], cert_dict['publicExponent']