Ir para o conteúdo

Pré-requisitos de criptografia S/MIME para o conector de Email no Jitterbit Integration Studio

Introdução

O conector de Email permite usar S/MIME (Extensões de Correio Internet Seguro/Múltiplo) para assinar ou assinar e criptografar um email antes de enviá-lo com a atividade Enviar Email. Você também pode ler emails assinados e/ou criptografados usando a atividade Ler Email.

Os certificados S/MIME utilizam criptografia de chave pública. Para criptografar um email, você precisa da chave pública do destinatário. Para receber um email criptografado, o remetente precisa da sua chave pública.

Esta página explica como criar um par de chaves pública/privada pessoal. Você deve compartilhar sua chave pública com outros para receber emails criptografados, mas mantenha sua chave privada segura.

Importante

Se você estiver usando um provedor de nuvem, como o Microsoft 365 Outlook com uma conta do Exchange Online, precisará de um certificado S/MIME de uma autoridade certificadora (CA) confiável, como o Let's Encrypt. Certificados autoassinados não funcionarão com provedores de nuvem.

Embora o processo para configurar o S/MIME deva ser semelhante para outros provedores, o Jitterbit validou o S/MIME apenas com o Microsoft Outlook.

Instruções passo a passo

Estas instruções usam o OpenSSL, embora outras ferramentas também possam criar certificados. Se estiver usando o Windows, execute seu prompt de comando como administrador.

Passo 1: Criar um arquivo de configuração do OpenSSL

Ignore este passo se sua distribuição do OpenSSL já incluir um arquivo de configuração padrão com as extensões necessárias. Quando você executar o arquivo openssl.exe (do diretório de instalação do OpenSSL), verá um aviso se nenhum arquivo de configuração existir.

Se necessário, crie um arquivo chamado smime.cnf com esta configuração:

[req]
distinguished_name = req_distinguished_name

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = AU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Internet Widgits Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64

[v3_ca]
basicConstraints = critical, CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer

[smime]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = emailProtection
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
subjectAltName = email:copy

Em seguida, defina a variável de ambiente OPENSSL_CONF para referenciar este arquivo de configuração. Em um terminal, insira o seguinte comando:

set OPENSSL_CONF=c:/openssl/smime.cnf
export OPENSSL_CONF=/usr/bin/openssl

Passo 2: Gere uma chave privada RSA para a autoridade certificadora

Execute este comando para gerar uma chave privada RSA para a autoridade certificadora:

openssl genrsa -aes256 -out ca.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out ca.key

Nos exemplos acima, as opções especificam o uso do cifrador de criptografia aes256 e a saída dos resultados para um arquivo chamado ca.key com um tamanho de 4096 bits.

Você será solicitado a criar uma senha para esta chave. Mantenha essa senha para uso no Passo 3.

Passo 3: Crie um certificado autoassinado para a autoridade certificadora

Execute este comando para criar um certificado autoassinado:

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca

O exemplo acima especifica que o certificado gerado é válido por 10 anos e utiliza a chave privada criada no Passo 2. O comando -x509 especifica que é um certificado autoassinado. Ele também grava o certificado em um arquivo chamado ca.crt.

Nota

Se a sua distribuição do OpenSSL já possui um arquivo de configuração adequado (você pulou o Passo 1), remova o parâmetro -extensions v3_ca deste comando.

Siga as instruções, inserindo a senha do Passo 2. Isso cria sua autoridade certificadora.

Passo 4: Gere uma chave privada para o certificado de email pessoal

Execute este comando para criar uma nova chave privada para seu certificado pessoal:

openssl genrsa -aes256 -out personal.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out personal.key

Digite uma nova senha (diferente da que foi usada no Passo 2). Guarde esta senha para o Passo 5.

Nota

Você pode usar algoritmos criptográficos diferentes de RSA, como ECC.

Passo 5: Crie a solicitação de assinatura de certificado

Execute este comando para criar a solicitação de assinatura de certificado:

openssl req -new -key personal.key -out personal.csr
openssl req -new -key personal.key -out personal.csr

Digite a senha que você criou no Passo 4. Quando solicitado por um "Nome Comum", use um nome diferente do que você usou no Passo 3.

Passo 6: Assine o certificado usando a autoridade certificadora

Execute este comando para assinar o certificado (usando o arquivo de configuração do Passo 1):

openssl x509 -req -days 3650 -in personal.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out personal.crt -addtrust emailProtection -addreject clientAuth -addreject serverAuth -trustout -extfile c:\openssl\smime.cnf -extensions smime
openssl x509 -req -days 3650 -in personal.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out personal.crt -sha256

Quando solicitado, digite a senha para a chave privada da autoridade certificadora do Passo 2.

Nota

Se sua distribuição do OpenSSL já possui um arquivo de configuração adequado (você pulou o Passo 1), remova os argumentos -extfile e -extensions do comando do Windows. Certifique-se de que as extensões necessárias existam no seu arquivo de configuração padrão.

Passo 7: Crie um arquivo de arquivo PKCS#12

Execute o seguinte comando para gerar um arquivo PKCS#12 contendo sua chave privada e certificado:

openssl pkcs12 -export -in personal.crt -inkey personal.key -out personal.p12
openssl pkcs12 -inkey personal.key -in personal.crt -export -out personal.pfx

Quando solicitado, insira a senha associada à sua chave privada pessoal criada no Passo 4. Crie outra senha que será usada ao importar o arquivo .p12 em um cliente de email. Mantenha essa segunda senha, pois você precisará dela ao habilitar a criptografia S/MIME nas atividades Ler Email ou Enviar Email.

Aviso

Nunca compartilhe sua chave privada com ninguém. Outros precisam da sua chave pública para enviar emails criptografados, mas apenas você deve ter sua chave privada.

Passo 8: Importar o certificado para um caminho de agente

Mova o arquivo .p12 ou .pfx criado no Passo 7 para um caminho visível ao agente (por exemplo, a pasta Resources). Em seguida, importe o certificado para o truststore padrão do Java (veja Adicionar certificados para instruções).

Nota

Ao importar o certificado para o truststore padrão, mantenha o alias que você usa para identificá-lo, pois você precisará dele ao habilitar a criptografia S/MIME nas atividades Ler Email ou Enviar Email.

Próximos passos

Agora que seu certificado S/MIME autoassinado foi criado, ele pode ser usado para assinar ou assinar e criptografar seus emails, e para ler emails que foram assinados ou criptografados. Ao fornecer sua chave pública a um remetente, você pode receber emails criptografados dele. Assim que um destinatário lhe fornecer sua chave pública, você também poderá enviar um email criptografado para ele.