Thunderbirdで自己署名証明書のSSL/TLS接続する方法

メールサーバ構築方法はこちら↓

メールサーバ構築 virtual_mail_box
https://qiita.com/Linux_box/items/a612dde9853cb044119c
メールサーバ設定 STARTTLS・SSL/TLS
https://qiita.com/Linux_box/items/416494f5c6d4b4495ead

## 問題

### ◆内容
自己署名証明書を設定したPostfix/Dovecotサーバに、ThunderbirdからSSL/TLS認証のIMAP, POP3, SMTP認証（SASL認証）ができない。

Thunderbirdでアカウント登録時にサーバを見つけることができない。
Postfix/Dovecotサーバのログに以下のメッセージがでる。
```
May 13 19:52:35 mailserver postfix/smtpd[3092]: warning: TLS library problem: error:0A000412:SSL routines::ssl/tls alert bad certificate:ssl/record/rec_layer_s3.c:909:SSL alert number 42:
```

```
May 13 19:54:53 mailserver dovecot[3008]: pop3-login: Disconnected: Connection closed: SSL_accept() failed: error:0A000412:SSL routines::ssl/tls alert bad certificate: SSL alert number 42 (no auth attempts in 0 secs): user=<>, rip=192.168.179.2, lip=192.168.179.31, TLS handshaking: SSL_accept() failed: error:0A000412:SSL routines::ssl/tls alert bad certificate: SSL alert number 42, session=<vh0vQwI1Du3AqLMC>
```
### ◆環境


| 製品 | バージョン |
|:-:|:-:|
| Thunderbird  | 138.0  |
| Windows11 (Thuderbird実行)  |  24H2  |
| Postfix  | 3.5.25  |
| Dovecot  | 2.3.16  |
| Oracle Linux Server (Postfix/Dovecot実行)  |  9.5  |


## 問題切り分け
原因がThunderbirdであると確認するため、Thuderbird実行のPCでopenssl s_client を試す。

```:コマンドプロンプト
PS C:\Users\user1> openssl s_client -connect mail.example123.local:995 -quiet
```

※"-quiet"がないとRETRコマンドでエラー発生。

## 解決方法
### ◆内容
ThunderbirdのSSL/TLSポートのセキュリティ例外に、強制的に自己署名証明書を追加する。
### ◆手順
#### ■1. STARTTLSで証明書をセキュリティ例外に追加
ThunderbirdにSTARTTLSではログインすることができる。
ログイン時とメール送信時に、DovecotとPostfixの証明書をセキュリティ例外に追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4086752/47df67d6-91b6-483a-9deb-dd4fd687e263.png)

#### ■2. Thunderbird設定ファイルを手動で更新
cert_override.txtの中身を書き換える。

★cert_override.txtの場所
Thunderbird画面の右上の「三」 > ヘルプ > トラブルシューティング情報 > プロファイルフォルダーの左「フォルダーを開く」 > cert_override.txt
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4086752/f350cc59-c79d-49bc-9615-c432d75c76a0.png)

★変更前
以下の例はpostfixとdovecotの証明書が同じ場合。

```
# PSM Certificate Override Settings file
# This is a generated file!  Do not edit.
mailserver.virtualbox.org:110:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15
mailserver.virtualbox.org:587:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15	
```

★変更後
ポート番号だけ変えて、下に追加する。

```
# PSM Certificate Override Settings file
# This is a generated file!  Do not edit.
mailserver.virtualbox.org:110:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15
mailserver.virtualbox.org:587:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15
mailserver.virtualbox.org:995:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15
mailserver.virtualbox.org:465:	OID.2.16.840.1.101.3.4.2.1	C1:3C:13:28:71:E5:B5:78:49:A7:F2:C8:5B:55:7A:42:14:D9:2B:44:A3:88:51:16:72:1E:03:89:57:E0:E7:15
```

#### 3. Thunderbirdを再起動
Thunderbirdを再起動後、SSL/TLS認証でアカウントを追加できる。