def dvsni_gen_cert(filepath, name, r_b64, nonce, key):
    """Generate a DVSNI cert and save it to filepath.

    :param str filepath: destination to save certificate. This will overwrite
        any file that is currently at the location.
    :param str name: domain to validate
    :param str dvsni_r: jose base64 encoded dvsni r value
    :param str nonce: hex value of nonce

    :param key: Key to perform challenge
    :type key: :class:`letsencrypt.client.client.Client.Key`

    :returns: dvsni s value jose base64 encoded
    :rtype: str

    """
    # Generate S
    dvsni_s = Random.get_random_bytes(CONFIG.S_SIZE)
    dvsni_r = le_util.jose_b64decode(r_b64)

    # Generate extension
    ext = _dvsni_gen_ext(dvsni_r, dvsni_s)

    cert_pem = crypto_util.make_ss_cert(
        key.pem, [nonce + CONFIG.INVALID_EXT, name, ext])

    with open(filepath, 'w') as chall_cert_file:
            chall_cert_file.write(cert_pem)

    return le_util.jose_b64encode(dvsni_s)
def dvsni_gen_cert(name, r_b64, nonce, key):
    """Generate a DVSNI cert and save it to filepath.

    :param str name: domain to validate
    :param str r_b64: jose base64 encoded dvsni r value
    :param str nonce: hex value of nonce

    :param key: Key to perform challenge
    :type key: :class:`letsencrypt.client.le_util.Key`

    :returns: tuple of (cert_pem, s) where
        cert_pem is the certificate in pem form
        s is the dvsni s value, jose base64 encoded
    :rtype: tuple

    """
    # Generate S
    dvsni_s = Random.get_random_bytes(constants.S_SIZE)
    dvsni_r = jose.b64decode(r_b64)

    # Generate extension
    ext = _dvsni_gen_ext(dvsni_r, dvsni_s)

    cert_pem = crypto_util.make_ss_cert(
        key.pem, [nonce + constants.DVSNI_DOMAIN_SUFFIX, name, ext])

    return cert_pem, jose.b64encode(dvsni_s)
Exemple #3
0
def dvsni_gen_cert(name, r_b64, nonce, key):
    """Generate a DVSNI cert and save it to filepath.

    :param str name: domain to validate
    :param str r_b64: jose base64 encoded dvsni r value
    :param str nonce: hex value of nonce

    :param key: Key to perform challenge
    :type key: :class:`letsencrypt.client.le_util.Key`

    :returns: tuple of (cert_pem, s) where
        cert_pem is the certificate in pem form
        s is the dvsni s value, jose base64 encoded
    :rtype: tuple

    """
    # Generate S
    dvsni_s = Random.get_random_bytes(constants.S_SIZE)
    dvsni_r = jose.b64decode(r_b64)

    # Generate extension
    ext = _dvsni_gen_ext(dvsni_r, dvsni_s)

    cert_pem = crypto_util.make_ss_cert(
        key.pem, [nonce + constants.DVSNI_DOMAIN_SUFFIX, name, ext])

    return cert_pem, jose.b64encode(dvsni_s)
def dvsni_gen_cert(filepath, name, r_b64, nonce, key):
    """Generate a DVSNI cert and save it to filepath.

    :param str filepath: destination to save certificate. This will overwrite
        any file that is currently at the location.
    :param str name: domain to validate
    :param str dvsni_r: jose base64 encoded dvsni r value
    :param str nonce: hex value of nonce

    :param key: Key to perform challenge
    :type key: :class:`letsencrypt.client.client.Client.Key`

    :returns: dvsni s value jose base64 encoded
    :rtype: str

    """
    # Generate S
    dvsni_s = Random.get_random_bytes(CONFIG.S_SIZE)
    dvsni_r = le_util.jose_b64decode(r_b64)

    # Generate extension
    ext = _dvsni_gen_ext(dvsni_r, dvsni_s)

    cert_pem = crypto_util.make_ss_cert(
        key.pem, [nonce + CONFIG.INVALID_EXT, name, ext])

    with open(filepath, 'w') as chall_cert_file:
        chall_cert_file.write(cert_pem)

    return le_util.jose_b64encode(dvsni_s)
    def gen_cert_and_response(self, s=None):  # pylint: disable=invalid-name
        """Generate a DVSNI cert and save it to filepath.

        :returns: ``(cert_pem, response)`` tuple,  where ``cert_pem`` is the PEM
            encoded  certificate and ``response`` is an instance
            :class:`letsencrypt.acme.challenges.DVSNIResponse`.
        :rtype: tuple

        """
        response = challenges.DVSNIResponse(s=s)
        cert_pem = crypto_util.make_ss_cert(self.key.pem, [
            self.nonce_domain, self.domain, response.z_domain(self.challb)])
        return cert_pem, response
    def createChallengeCert(self, name, ext, nonce, key):
        """
        Modifies challenge certificate configuration and calls openssl binary to create a certificate

        ext:    string - hex z value
        nonce:  string - hex
        key:    string - file path to key

        result: certificate created at getDvsniCertFile(nonce)
        """
        #self.createCHOC_CERT_CONF(name, ext)

        self.configurator.register_file_creation(True, self.getDvsniCertFile(nonce))
        cert_pem = crypto_util.make_ss_cert(key, [nonce + INVALID_EXT, name, ext])
        with open(self.getDvsniCertFile(nonce), 'w') as f:
            f.write(cert_pem)
 def test_it(self):  # pylint: disable=no-self-use
     from letsencrypt.client.crypto_util import make_ss_cert
     make_ss_cert(RSA256_KEY, ['example.com', 'www.example.com'])
 def test_it(self):
     from letsencrypt.client.crypto_util import make_ss_cert
     make_ss_cert(RSA256_KEY, ['example.com', 'www.example.com'])
Exemple #9
0
 def test_it(self):  # pylint: disable=no-self-use
     from letsencrypt.client.crypto_util import make_ss_cert
     make_ss_cert(RSA256_KEY, ['example.com', 'www.example.com'])
 def test_it(self):
     from letsencrypt.client.crypto_util import make_ss_cert
     make_ss_cert(RSA256_KEY, ['example.com', 'www.example.com'])