ActionMailer:使用多个自签名证书

ActionMailer: Using multiple self-signed certificates

我发现 关于如何在 Whosebug 上将自签名证书与 ActionMailer 一起使用。 根据一个答案,可以用下面的代码来完成。

config.action_mailer.smtp_setting = {
    ...
    ssl: true
    enable_starttls_auto: false,
    openssl_verify_mode: OpenSSL::SSL::VERIFY_PEER,
    ca_file: "/etc/ssl/certs/ca-certificates.crt",
    ...
} 

如您所见,可以使用此行 ca_file: "/etc/ssl/certs/ca-certificates.crt".

指定 ca_file

虽然答案非常简洁并且帮助我弄清楚了如何使用 ActionMailer 发送带有自签名证书的电子邮件,但它仍然给我留下了以下两个问题。

1) 是否可以设置多个(在我的例子中是三个)不同的自签名证书?如果答案是肯定的,如何?

2) 是否可以使用 .der 文件代替 .crt 文件作为自签名证书?或者当我将 .der 文件用作自签名证书时,我是否应该始终将其转换为 .crt 文件?

我找不到关于此事的太多信息,如有任何帮助,我将不胜感激!

1) Is it possible to set more than one ,in my case three, different self-signed certificates? If the answer is yes, how?

ca_file 可以包含多个 PEM 格式的 CA 证书。只需将它们一个接一个地放入文件中,即 cat cert1.pem cert2.pem > ca.pem。不过,请确保每个输入文件的末尾都有一个行尾。

2) Is it possible to use a .der file as a self-signed certificate instead of a .crt file? or Should I always convert a .der file into a .crt file when I use it as a self-signed certificate?

DER 和 PEM 本质上都是相同的数据,只是编码不同(二进制与带有一些 ASCII 信封的 base64)并且很容易将一个转换为另一个。 ca_file 需要 PEM 列表,而不是 DER。