ActionMailer:使用多个自签名证书

时间:2019-02-28 05:45:01

标签: ruby-on-rails ruby ssl actionmailer

我发现this question关于如何在stackoverflow上对ActionMailer使用自签名证书。 根据一个答案,可以使用以下代码完成。

public class Main {
    public static void main(String[] args)
    {
        String[] colors = new String[] {};
        int[] number = new int[] {};
        for(int i = 0; i < args.length; i++)
        {
            // stuck
        }
    }

如您所见,可以在此行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。

尽管答案确实很简洁,并帮助我弄清楚了如何使用ActionMailer发送带有自签名证书的电子邮件,但仍然留下了以下两个问题。

1)是否可以设置多个(在我的情况下为三个)不同的自签名证书?如果答案是肯定的,怎么办?

2)是否可以将ca_file: "/etc/ssl/certs/ca-certificates.crt"文件用作自签名证书而不是.der文件?还是当我将.crt文件用作自签名证书时将其转换为.der文件?

我无法找到有关此事的太多信息,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

  

1)是否可以设置多个(在我的情况下为三个)不同的自签名证书?如果答案是肯定的,怎么办?

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

  

2)是否可以将.der文件用作自签名证书而不是.crt文件?还是当我将.der文件用作自签名证书时始终将其转换为.crt文件?

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