我发现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
文件?
我无法找到有关此事的太多信息,我将不胜感激!
答案 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。