Posso criar meu próprio certificado S / MIME para criptografia de email? [fechadas]

19

Estou tendo um problema aqui. Tenha paciência comigo, pois esse pode ser um caso de "não fazer a pergunta certa".

Plano de fundo: Usando o Apple Mail. Deseja criptografar / descriptografar e-mail, mas o GPGMail (e aparentemente o PGP) não é suportado pelo Snow Leopard.

Basicamente, preciso criar um certificado S / MIME para uso na criptografia de email. Não quero nem me importo com uma Autoridade de Certificação. Eu simplesmente quero um certificado rápido e sujo. Isso é possível (usando OPENSSL, etc) ou todo o processo depende de uma autoridade superior, forçando-me a configurar uma autoridade de certificação em grande escala ou a negociar com uma empresa (por exemplo, Verisign, Thawte) para um certificado? Meus critérios são gratificação instantânea e grátis.

Melhor.

humble_coder
fonte
1
Observe que seu certificado é usado para dois propósitos em S / MIME. Para assinar seus e-mails e descriptografar o e-mail enviado a você por outra pessoa. Para criptografar email para outra pessoa, você precisará do certificado. Normalmente, os clientes de email são configurados imediatamente para confiar em um conjunto predeterminado de CAs. Se os certificados não forem assinados por um deles, você receberá pelo menos uma mensagem desagradável e possivelmente até um sistema que não está funcionando.
James Reinstate Monica Polk
1
Eu sei que isto é uma questão mais velho, mas para referência futura, GPGMail plugin faz agora trabalho no Snow Leopard gpgtools.org/installer/index.html
Jason Whitehorn
Sei que esse é um comentário antigo - mas o GPGMail não é mais gratuito para o OSX.
Nycynik 25/09

Respostas:

23

Sim, é péssimo que o Apple Mail não suporte GPG. :-( Gostaria que sim, porque também prefiro o email criptografado por GPG.

Também concordo que é difícil obter informações sobre S / MIME e gerar seus próprios certificados de email. Descobri que a página de Paul Bramscher tem uma boa descrição de como criar seu próprio certificado de Autoridade de Certificação.

Não pretendo entender completamente o processo de certificação, mas é isso que consegui reunir. Você deve consultar a página de manual do openssl para obter informações mais detalhadas sobre cada um dos comandos mostrados abaixo.

Criar autoridade de certificação

A primeira etapa é criar sua própria autoridade de certificação (CA). Os comandos são…

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

e siga as instruções.

Você precisará emitir o certificado da CA (ou seja, o conteúdo de ca.crt ) para todos os destinatários do seu email criptografado. Os destinatários terão que instalar e confiar no seu certificado CA para que o seu email criptografado seja confiável. A instalação varia para cada cliente de email usado.

No seu caso, você precisará adicionar o certificado da CA ao seu Apple Keychain. Existem muitas postagens na web sobre como importar e confiar em um certificado CA no Apple Keychain.

Criar solicitação de certificado de email pessoal

Agora você precisa criar uma solicitação de certificado. Crie um para cada endereço de email do qual você deseja enviar o email. Execute os seguintes comandos…

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

e siga as instruções.

A autoridade de certificação assina sua solicitação de certificado

Seu certificado pessoal precisa ser assinado por sua CA. Nesse caso, você!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

A saída é o seu certificado assinado.

Prepare o seu certificado para importar para o seu aplicativo de email

Você precisa converter seu certificado de .crt(formato PEM, eu acho) para .p12(formato PCKS12).

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Agora você pode importar seu *.p12*certificado formatado para o seu cliente de email. No seu caso, importe o *.p12*arquivo para o Apple Keychain. Depois que o certificado estiver instalado corretamente, o Apple Mail começará a usar o seu certificado.

Existe uma maneira mais fácil

Obviamente, depois de criar sua própria CA, há uma maneira mais fácil de gerenciar certificados criados por sua própria Autoridade de Certificação. O openssl vem com um script chamado…

# /usr/lib/ssl/misc/CA.pl

o que simplifica o processo de ser sua própria autoridade de certificação. Existe até uma página de manual para o CA.pl!

Condenar
fonte
Na seção A autoridade de certificação assina sua solicitação de certificado. Os "-CAKey" necessidades argumento a ser "-CAkey" com uma minúscula 'k' - pelo menos para a minha versão Open SSL 1.0.0a 01 de junho de 2010
KevM
2
Alterei -CAKey para -CAkey. Esta é uma resposta realmente excelente, mas o comentário lateral sobre o GPG não é prejudicado. O S / MIME tem muitas vantagens sobre o GPG. Além de suporte mais amplo, inclui o certificado com cada mensagem assinada, fornecendo um mecanismo interno de distribuição de certificados.
vy32
Não se esqueça de definir algumas restrições ao certificado, consulte security.stackexchange.com/a/30069/3272
Tobias Kienzler
8

Gratuito e assinado por uma CA: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Andrew McGregor
fonte
1
O Commodo usa a tag <keygen> para permitir que seu navegador faça um CSR sem compartilhar a chave privada. Isso não funciona nos navegadores mais modernos (por exemplo, Chrome 49+).
Mhvelplund
Cite a página: “ Por favor, use o Mozilla® Firefox® ou Microsoft® Internet Explorer® 8+ para coletar seu certificado. Os certificados de email não podem ser coletados usando o Google® Chrome® ou Microsoft Edge. ”. Isso corresponde à tabela de compatibilidade do MDN .
Franklin Yu
trabalha usando safari.
Nycynik 25/09
1

Como outros já disseram, a resposta é obviamente sim. Você pode gerá-lo via openssl ou pode usar um dos provedores que fornece um certificado de e-mail x509 gratuito.

Dito isto, a pergunta mais importante é: com o que as pessoas com quem você troca e-mail usam? Como eu sou ativo na comunidade de software livre, a maioria das pessoas com quem troco e-mails usa GPG. Os únicos que eu conheço que usam S / MIME o fazem no email de trabalho como uma questão de política corporativa.

Se as pessoas para quem você estiver enviando e-mails não usarem S / MIME, não será possível criptografá-las e elas não poderão verificar e-mails assinados.

David
fonte