Package tlslite :: Module dh
[hide private]
[frames] | no frames]

Source Code for Module tlslite.dh

 1  # Author: 
 2  #    Hubert Kario 
 3   
 4  """Handling of Diffie-Hellman parameter files.""" 
 5   
 6  from .utils.asn1parser import ASN1Parser 
 7  from .utils.pem import dePem 
 8  from .utils.cryptomath import bytesToNumber 
 9   
10   
11 -def parseBinary(data):
12 """ 13 Parse DH parameters from ASN.1 DER encoded binary string. 14 15 @param data: DH parameters 16 @rtype: tuple of int 17 """ 18 parser = ASN1Parser(data) 19 20 prime = parser.getChild(0) 21 gen = parser.getChild(1) 22 23 return (bytesToNumber(gen.value), bytesToNumber(prime.value))
24 25
26 -def parse(data):
27 """ 28 Parses DH parameters from a binary string. 29 30 The string can either by PEM or DER encoded 31 32 @param data: DH parameters 33 @rtype: tuple of int 34 @return: generator and prime 35 """ 36 try: 37 return parseBinary(data) 38 except (SyntaxError, TypeError): 39 pass 40 41 binData = dePem(data, "DH PARAMETERS") 42 return parseBinary(binData)
43