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.