コード例 #1
0
def get_DSA_pub_key_material(subjectPublicKeyAsn1, parametersAsn1):
    '''
    Extracts DSA parameters p, q, g from
    ASN1 bitstring component subjectPublicKey and parametersAsn1 from
    'parameters' field of AlgorithmIdentifier.
    '''
    pubkey = subjectPublicKeyAsn1.toOctets()

    key = decode(pubkey, asn1Spec=DsaPubKey())[0]
    parameters = decode(str(parametersAsn1), asn1Spec=DssParams())[0]
    paramDict = {"pub": int(key)}

    for param in ['p', 'q', 'g']:
        paramDict[param] = parameters.getComponentByName(param)._value

    return paramDict
コード例 #2
0
ファイル: tools.py プロジェクト: 0p1um/public_drown_scanner
def get_DSA_pub_key_material(subjectPublicKeyAsn1, parametersAsn1):
    '''
    Extracts DSA parameters p, q, g from
    ASN1 bitstring component subjectPublicKey and parametersAsn1 from
    'parameters' field of AlgorithmIdentifier.
    '''
    pubkey = subjectPublicKeyAsn1.toOctets()
    
    key = decode(pubkey, asn1Spec=DsaPubKey())[0]
    parameters = decode(str(parametersAsn1), asn1Spec=DssParams())[0]
    paramDict = {"pub": int(key)}
    
    for param in ['p', 'q', 'g']:
        paramDict[param] = parameters.getComponentByName(param)._value
        
    return paramDict
コード例 #3
0
def get_RSA_pub_key_material(subjectPublicKeyAsn1):
    '''
    Extracts modulus and public exponent from 
    ASN1 bitstring component subjectPublicKey
    '''
    # create template for decoder
    rsa_key = RsaPubKey()
    # convert ASN1 subjectPublicKey component from BITSTRING to octets
    pubkey = subjectPublicKeyAsn1.toOctets()

    key = decode(pubkey, asn1Spec=rsa_key)[0]

    mod = key.getComponentByName("modulus")._value
    exp = key.getComponentByName("exp")._value

    return {'mod': mod, 'exp': exp}
コード例 #4
0
ファイル: tools.py プロジェクト: 0p1um/public_drown_scanner
def get_RSA_pub_key_material(subjectPublicKeyAsn1):
    '''
    Extracts modulus and public exponent from 
    ASN1 bitstring component subjectPublicKey
    '''
    # create template for decoder
    rsa_key = RsaPubKey()
    # convert ASN1 subjectPublicKey component from BITSTRING to octets
    pubkey = subjectPublicKeyAsn1.toOctets()
    
    key = decode(pubkey, asn1Spec=rsa_key)[0]
    
    mod = key.getComponentByName("modulus")._value
    exp = key.getComponentByName("exp")._value
    
    return {'mod': mod, 'exp': exp}