def get_public_key(context, signature_certificate_uuid, signature_key_type):
    certificate = get_certificate(context, signature_certificate_uuid)

    # Note that this public key could either be
    # RSAPublicKey, DSAPublicKey, or EllipticCurvePublicKey
    public_key = certificate.public_key()

    # Confirm the type is of the type expected based on the signature key type
    if not isinstance(public_key, signature_key_type.public_key_type):
        raise exception.SignatureVerificationError(
            reason=_('Invalid public key type for signature key type: %s')
            % signature_key_type.name)

    return public_key
run the plugin
dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/signature_utils.py/get_public_key--crossover with--dataset/ETHPy150Open projectatomic/atomic-reactor/atomic_reactor/plugins/pre_assert_labels.py/AssertLabelsPlugin.run