/usr/lib/python2.7/dist-packages/tlslite/dh.py is in python-tlslite-ng 0.7.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Author:
# Hubert Kario
"""Handling of Diffie-Hellman parameter files."""
from .utils.asn1parser import ASN1Parser
from .utils.pem import dePem
from .utils.cryptomath import bytesToNumber
def parseBinary(data):
"""
Parse DH parameters from ASN.1 DER encoded binary string.
:param bytes data: DH parameters
:rtype: tuple of int
"""
parser = ASN1Parser(data)
prime = parser.getChild(0)
gen = parser.getChild(1)
return (bytesToNumber(gen.value), bytesToNumber(prime.value))
def parse(data):
"""
Parses DH parameters from a binary string.
The string can either by PEM or DER encoded
:param bytes data: DH parameters
:rtype: tuple of int
:returns: generator and prime
"""
try:
return parseBinary(data)
except (SyntaxError, TypeError):
pass
binData = dePem(data, "DH PARAMETERS")
return parseBinary(binData)
|