# `letsencrypt.proof_of_possession`

Proof of Possession Identifier Validation Challenge.

class `letsencrypt.proof_of_possession.``ProofOfPossession`(installer)

  Bases: `object`

  Proof of Possession Identifier Validation Challenge.

  Based on draft-barnes-acme, section 6.5.

  Variables: | installer – Installer object

  `perform`(achall)

    Perform the Proof of Possession Challenge.

    Parameters: | achall (`letsencrypt.achallenges.ProofOfPossession`) – Proof of Possession Challenge
    Returns: | Response or None/False if the challenge cannot be completed
    Return type: | `acme.challenges.ProofOfPossessionResponse` or False

  `_gen_response`(achall, key_path)

    Create the response to the Proof of Possession Challenge.

    Parameters:

    - achall (`letsencrypt.achallenges.ProofOfPossession`) – Proof of Possession Challenge
    - key_path (str) – Path to the key corresponding to the hinted to public key.

    Returns: | Response or False if the challenge cannot be completed
    Return type: | `acme.challenges.ProofOfPossessionResponse` or False