naptify-server と naptify-client の組み合わせで、通信を暗号化し、パスワード・IM・検索の内容を第三者から守る機能。サーバーとの接続と、naptify-client 同士のファイル転送の両方に対応。管理画面の通信も暗号化。
Utatane など従来のクライアントとは、これまでどおり接続・転送できます(後方互換)。暗号化は、naptify-server と naptify-client の組み合わせのときだけ働きます。

暗号化する通信
| 通信 | 暗号化 | 状況 |
|---|---|---|
| naptify-client と naptify-server | 暗号化通信 | 対応済み |
| naptify-client 同士のファイル転送 | 暗号化通信 | 対応済み |
| 管理画面(外部から開く場合) | 暗号化通信(HTTPS) | 対応済み |
| Utatane など従来のクライアント | 暗号化なし(従来どおり) | ― |
| naptify-client と Utatane などのファイル転送 | 暗号化なし(従来どおり) | ― |
| naptify-client とほかの OpenNap サーバー | 暗号化なし(従来どおり) | ― |
方式は TLS(naptify-server と naptify-client の組み合わせでは TLS 1.3)。管理画面は HTTPS。
サーバーとの接続
接続の最初に、naptify-client とサーバーが互いの対応機能を確認します。両方が対応していれば、ログインの前に、同じ接続のまま暗号化通信へ切り替えます。Utatane など従来の OpenNap クライアントは、同じポートで従来どおり接続できます。
サーバーの証明書は、D-DNS.JP と連携していれば、D-DNS.JP が発行する Let’s Encrypt の証明書(管理画面の HTTPS と共通)を使います。連携していない場合は、サーバーが初回に作成した自己署名の証明書を使います。自己署名の証明書は、再起動やデータフォルダーの移動では作り直しません。
証明書の確認(指紋)
自己署名の証明書など、通常の検証で確認できない場合、naptify-client は証明書の指紋(SHA-256)を表示し、利用者の承認を求めます。承認した指紋は記憶し、次から変わっていれば警告します。サーバーの運用者は、管理画面に表示される指紋を利用者へ伝えてください。
一度暗号化通信で接続したサーバーが、暗号化なしの接続に変わった場合も、naptify-client はログインの前に利用者の確認を求めます。
ファイル転送の暗号化
naptify-client 同士のファイル転送は、証明書の指紋を naptify-server 経由で受け渡し、暗号化通信で行います。ファイル本体はサーバーを通りません。Utatane など従来のクライアントとの転送は、これまでどおり暗号化なしで行えます(後方互換)。
管理画面の HTTPS
管理画面を「外部から許可」で公開するとき、通信を HTTPS で暗号化します。証明書(Let’s Encrypt)は D-DNS.JP が発行・更新し、サーバーは 1 日 1 回、新しい証明書の有無を確認して受け取ります(再起動は不要)。サーバーの PC からは、従来どおり HTTP で開けます。設定は「管理画面の HTTPS」。
設定
| 場所 | 設定の「接続設定」の「TLS(naptify-client 向け)」 |
| 項目 | TLS を受ける(既定は有効) |
| 表示 | 使用中の証明書の種類(D-DNS.JP の証明書・自己署名)・有効期限・指紋(SHA-256) |