'Sets the requestor\'s public key (as found in the signing request).'

def public_key(self, key):

    if (not isinstance(key, (dsa.DSAPublicKey, rsa.RSAPublicKey, ec.EllipticCurvePublicKey))):
        raise TypeError('Expecting    one    of    DSAPublicKey,    RSAPublicKey,    or    EllipticCurvePublicKey.')
    if (self._public_key is not None):
        raise ValueError('The    public    key    may    only    be    set    once.')
    return CertificateBuilder(self._issuer_name, self._subject_name, key, self._serial_number, self._not_valid_before, self._not_valid_after, self._extensions)
