File diff fd67771cb3b3 → 70b0277c55dc
gimmecert/commands.py
Show inline comments
 
@@ -111,7 +111,7 @@ def init(stdout, stderr, project_directory, ca_base_name, ca_hierarchy_depth, ke
 
    return ExitCode.SUCCESS
 

	
 

	
 
def server(stdout, stderr, project_directory, entity_name, extra_dns_names, custom_csr_path):
 
def server(stdout, stderr, project_directory, entity_name, extra_dns_names, custom_csr_path, key_specification):
 
    """
 
    Issues a server certificate using the CA hierarchy initialised
 
    within the specified directory.
 
@@ -139,8 +139,13 @@ def server(stdout, stderr, project_directory, entity_name, extra_dns_names, cust
 
    :type extra_dns_names: list[str]
 

	
 
    :param custom_csr_path: Path to custom certificate signing request to use for issuing client certificate. Set to None or "" to generate private key.
 
                            Do not use together with key_specification.
 
    :type custom_csr_path: str or None
 

	
 
    :param key_specification: Key specification to use when generating private keys for the server. Ignored if custom_csr_path is specified. Set to None to
 
                              default to issuing CA hiearchy algorithm and parameters.
 
    :type key_specification: tuple(str, int) or None
 

	
 
    :returns: Status code, one from gimmecert.commands.ExitCode.
 
    :rtype: int
 
    """
 
@@ -175,7 +180,8 @@ def server(stdout, stderr, project_directory, entity_name, extra_dns_names, cust
 
        public_key = csr.public_key()
 
        private_key = None
 
    else:
 
        key_specification = gimmecert.crypto.key_specification_from_public_key(issuer_private_key.public_key())
 
        if not key_specification:
 
            key_specification = gimmecert.crypto.key_specification_from_public_key(issuer_private_key.public_key())
 
        key_generator = gimmecert.crypto.KeyGenerator(key_specification[0], key_specification[1])
 
        private_key = key_generator()
 
        public_key = private_key.public_key()