OpenSSL CSR
Resumo
- Gerar solicitação de assinatura de certificado OpenSSL (CSR).
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
authority_cert_issuer | list / elements=string | | Nomes que estarão presentes no campo emissor do certificado de autoridade da solicitação de assinatura de certificado. Os valores devem ser prefixados por suas opções (ou seja, email, URI, DNS, RID, IP, dirName, otherName e os específicos para sua CA). Exemplo: DNS: ca.example.org. Se especificado, a authority_key_identifier também deve ser especificada. Observe que as CA's comerciais ignoram esse valor, respectivamente, use um valor de sua própria escolha. |
authority_cert_serial_number | integer | | O número de série do certificado de autoridade. Observe que isso só é compatível se o back-end de criptografia for usado! Observe que as CA's comerciais ignoram esse valor, respectivamente, usam um valor de sua própria escolha. O AuthorityKeyIdentifier só será adicionado se pelo menos um dos parâmetros authority_key_identifier, authority_cert_issuer e authority_cert_serial_number for especificado. |
authority_key_identifier | string | | O identificador de chave de autoridade como uma string hexadecimal, em que dois bytes são separados por dois pontos. Exemplo: 00: 11: 22: 33: 44: 55: 66: 77: 88: 99: aa: bb: cc: dd: ee: ff: 00: 11: 22: 33. Se especificado, Authority_cert_issuer também deve ser especificado. Observe que as CA's comerciais ignoram esse valor e usam um valor de sua própria escolha, respectivamente. O AuthorityKeyIdentifier só será adicionado se pelo menos um dos authority_key_identifier, authority_cert_issuer e authority_cert_serial_number for especificado. |
backup | boolean | Escolhas: - false (default) - true | Crie um arquivo de backup incluindo data / hora para que você possa obter o CSR original de volta se você o substituir por um novo acidentalmente. |
basic_constraints aliases: basicConstraints | list / elements=string | | Indica restrições básicas, como se o certificado for uma CA. |
basic_constraints_critical aliases: basicConstraints_critical | boolean | Escolhas: - false (default) - true | Se a extensão basicConstraints deve ser considerada crítica. |
common_name aliases: CN, commonName | string | | Campo de nome do assunto da solicitação de assinatura de certificado. |
country_name aliases: C, countryName | string | | Campo de nome do país do assunto da solicitação de assinatura do certificado. |
create_subject_key_identifier | boolean | Escolhas: - false (default) - true | Crie o Identificador de Chave do Assunto a partir da chave pública. Observe que as CA's comerciais podem ignorar o valor, em vez disso, use um valor de sua própria escolha. Especificar esta opção é mais útil para certificados autoassinados ou para próprios CA. Observe que isso só é suportado se o backend de cryptography for usado! |
digest | string | "sha256" (default) | O resumo usado ao assinar a solicitação de assinatura de certificado com a chave privada. |
email_address aliases: E, emailAddress | string | | Campo de endereço de e-mail do assunto da solicitação de assinatura do certificado. |
extended_key_usage aliases: extKeyUsage, extendedKeyUsage | list / elements=string | | Restrições adicionais (por exemplo, autenticação de cliente, autenticação de servidor) nas finalidades permitidas para as quais a chave pública pode ser usada. |
extended_key_usage_critical aliases: extKeyUsage_critical, extendedKeyUsage_critical | boolean | Escolhas: - false (default) - true | Se a extensão extkeyUsage deve ser considerada crítica. |
force | boolean | Escolhas: - false (default) - true | Se o pedido de assinatura de certificado deve ser gerado novamente forçado por este módulo atmosphere. |
key_usage aliases: keyUsage | list / elements=string | | Isso define a finalidade (por exemplo, criptografia, assinatura, assinatura de certificado) da chave contida no certificado. |
key_usage_critical aliases: keyUsage_critical | boolean | Escolhas: - false (default) - true | Se a extensão keyUsage deve ser considerada crítica. |
locality_name aliases: L, localityName | string | | Campo localityName do assunto da solicitação de assinatura de certificado. |
ocsp_must_staple aliases: ocspMustStaple | boolean | Escolhas: - false (default) - true | Indica que o certificado deve conter a extensão OCSP Must Staple (Veja: https://tools.ietf.org/html/rfc7633). |
ocsp_must_staple_critical aliases: ocspMustStaple_critical | boolean | Escolhas: - false (default) - true | Se a extensão OCSP Must Staple deve ser considerada crítica. Observe que, de acordo com a RFC, essa extensão não deve ser marcada como crítica, pois os clientes antigos que não sabem sobre OCSP Must Staple são obrigados a rejeitar tais certificados (Veja: https://tools.ietf.org/html/rfc7633#section-4). |
organization_name aliases: O, organizationName | string | | Campo do nome da organização do assunto da solicitação de assinatura de certificado. |
organizational_unit_name aliases: OU, organizationalUnitName | string | | Campo de nome da unidade organizacional do assunto da solicitação de assinatura de certificado. |
path - required | path | | O nome do arquivo no qual a solicitação de assinatura de certificado OpenSSL gerada será gravada. |
privatekey_passphrase | string | | A frase secreta da chave privada. É necessária se a chave privada for protegida por senha. |
privatekey_path | path | | O caminho para a chave privada a ser usada ao assinar a solicitação de assinatura de certificado. Privatekey_path ou privatekey_content deve ser especificado se state estiver present, mas não ambos. |
select_crypto_backend | string | Escolhas: - auto (default) - cryptography - pyopenssl | Determina qual back-end de criptografia usar. A escolha padrão é auto, que tenta usar cryptography, se disponível, e retorna para pyopenssl. Se definido como pyopenssl, tentará usar a biblioteca pyOpenSSL. Se definido como cryptography, tentará usar o biblioteca de criptografia. |
state | string | Escolhas: - present (default) - absent | Se a solicitação de assinatura de certificado deve existir ou não, agir se o estado for diferente do que é declarado. |
state_or_province_name aliases: ST, stateOrProvinceName | string | | Campo stateOrProvinceName do assunto da solicitação de assinatura de certificado. |
subject | dictionary | | Pares de chave/valor que estarão presentes no campo de nome do assunto da solicitação de assinatura de certificado. Se você precisar especificar mais de um valor com a mesma chave, use uma lista como valor. |
subject_alt_name aliases: subjectAltName | list / elements=string | | Extensão do nome alternativo do assunto (SAN) a ser anexada à solicitação de assinatura do certificado. Pode ser uma 'string separada por vírgulas' ou uma lista YAML. Os valores devem ser prefixados por suas opções. (ou seja, e-mail, URI, DNS, RID, IP, dirName, otherName e os específicos para sua CA). Observe que se nenhum SAN for especificado, mas um nome comum, o nome comum será adicionado como SAN, exceto se useCommonNameForSAN for definido como false. Veja mais em https://tools.ietf.org/html/rfc5280#section-4.2.1.6. |
subject_alt_name_critical aliases: subjectAltName_critical | boolean | Escolhas: - false (default) - true | Se a extensão subjectAltName deve ser considerada crítica. |
subject_key_identifier | string | | O identificador de chave do assunto como uma string hexadecimal, em que dois bytes são separados por dois pontos. Exemplo: 00: 11: 22: 33: 44: 55: 66: 77: 88: 99: aa: bb: cc: dd: ee: ff : 00: 11: 22: 33. Observe que os CA's comerciais ignoram esse valor, respectivamente, usam um valor de sua própria escolha. Especificar esta opção é principalmente útil para certificados autoassinados ou para próprios CA's. Note que esta opção só pode ser usada se create_subject_key_identifier for false. Isso só é suportado se o backend de criptografia for usado! |
use_common_name_for_san aliases: useCommonNameForSAN | boolean | Escolhas: - false - true (default) | Se definido como true, o módulo preencherá o nome comum para subject_alt_name com 'DNS: prefix' se nenhum SAN for especificado. |
version | integer | - 1 (default) | A versão da solicitação de assinatura de certificado. O único valor permitido de acordo com RFC 2986 é 1. |
Notas
- Para que você aproveite o máximo desse módulo, é necessário que o mesmo esteja funcionando em uma máquina remota ou host, que contenha os arquivos solicitados pelos parâmetros.
Exemplos
# Exemplo: Gerar uma solicitação de assinatura de certificado OpenSSL
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
common_name: www.example.com
# Exemplo: Gere uma solicitação de assinatura de certificado OpenSSL com uma chave privada protegida por senha
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
privatekey_passphrase: atmosphere
common_name: www.example.com
# Exemplo: Gerar uma solicitação de assinatura de certificado OpenSSL com informações de assunto
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
country_name: FR
organization_name: example
email_address: [email protected]
common_name: www.example.com
# Exemplo: Gerar uma solicitação de assinatura de certificado OpenSSL com extensão subjectAltName
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
subject_alt_name: ['DNS:www.example.com', 'DNS:m.example.com']
# Exemplo: Gere um CSR OpenSSL com extensão subjectAltName com lista dinâmica
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
subject_alt_name: "{{ item.value | map('regex_replace', '^', 'DNS:') | list }}"
- with_dict:
dns_server:
- www.example.com
- m.example.com
# Exemplo: Forçar a regeneração de uma solicitação de assinatura de certificado OpenSSL
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
force: yes
common_name: www.example.com
# Exemplo: Gerar uma solicitação de assinatura de certificado OpenSSL com usos de chaves especiais
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
common_name: www.example.com
key_usage:
- digitalSignature
- keyAgreement
extended_key_usage:
- clientAuth
# Exemplo: Gerar uma solicitação de assinatura de certificado OpenSSL com OCSP Must Stapler
- openssl_csr:
path: /etc/ssl/csr/www.example.com.csr
privatekey_path: /etc/ssl/private/example.com.pem
common_name: www.example.com
ocsp_must_staple: yesValores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
backup_file | string | Modificar e se o backup for true. | Nome do arquivo de backup criado. |
basicConstraints | list / elements=string | Modificar ou der Sucesso | Indica se o certificado pertence a uma CA. |
extendedKeyUsage | list / elements=string | Modificar ou der Sucesso | Restrições adicionais sobre os objetivos da chave pública. |
filename | string | Modificar ou der Sucesso | Caminho para a solicitação de assinatura de certificado gerada. |
keyUsage | list / elements=string | Modificar ou der Sucesso | Finalidade para a qual a chave pública pode ser usada. |
ocsp_must_staple | boolean | Modificar ou der Sucesso | Indica se o certificado tem o recurso OCSP deve grampear habilitado. |
privatekey | string | Modificar ou der Sucesso | O caminho para a chave privada TLS / SSL para a qual o CSR foi gerado. Será nenhum se a chave privada tiver sido fornecida em privatekey_content. |
subject | list / elements=list | Modificar ou der Sucesso | Uma lista das tuplas de assunto anexadas ao CSR. |
subjectAltName | list / elements=string | Modificar ou der Sucesso | Os nomes alternativos para os quais este CSR é válido. |