NextCloud multikeyencryption failed error:0308010C

CentOS Stream 9 を使った所、こんなメッセージが出てサーバサイドの暗号化ができなかったので調査しました。

multikeyencryption failed error:0308010C:digital envelope routines::unsupported

調べると Node.JS 関連の情報が出てきますが、多分違うだろうと考えて SSL 周りを調査。

  • https://www.openssl.org/docs/manmaster/man7/OSSL_PROVIDER-legacy.html
  • legacy
  • fips
  • OSSL_PROVIDER-legacy
  • NODE_OPTIONS=--openssl-legacy-provider
  • https://github.com/nodejs/node/issues/40455

これらの文字列からたどり着いたのは openss.cnf の以下の部分。

修正したらサーバサイドの暗号化が動く様になりました。

ただ、occ preview:pre-generate が動かなくなり、バックグラウンドでのプレビュー画像生成ができなくなります。これが意外と被害でかいんだよね。

当然ですがレガシー対応した形なので、OSとしては少しセキュア度が下がりました。

--- openssl.cnf.orig    2022-01-21 23:28:48.000000000 +0900
+++ openssl.cnf 2022-01-27 13:49:37.335117079 +0900
@@ -58,13 +58,13 @@

 [provider_sect]
 default = default_sect
-##legacy = legacy_sect
+legacy = legacy_sect
 ##
 [default_sect]
 activate = 1

-##[legacy_sect]
-##activate = 1
+[legacy_sect]
+activate = 1

 [ ssl_module ]

変更したあとは php-fpm を再起動して openssl.cnf の設定変更を反映させます。

systemctl restart php-fpm
systemctl restart httpd

無事 サーバサイドの暗号化が動きました。一気に全ファイルを暗号化します。一応解除も試します。

# 暗号化
sudo -u apache php occ maintenance:mode --off
sudo -u apache php occ encryption:enable      
sudo -u apache php occ encryption:encrypt-all 
sudo -u apache php occ encryption:status      
# 暗号化解除
sudo -u apache php occ maintenance:mode --off
sudo -u apache php occ encryption:decrypt-all 
sudo -u apache php occ encryption:disable     
sudo -u apache php occ encryption:status      

使用容量は増えるけど、安心できるからやむを得ず。

20220127171700_nextcloudlogo.jpg

前へ

SIP ソフト ZoiPer で「スマホdeひかり電話」に接続

次へ

無償版 G Suite からレジストラの個別メール転送&SMTP認証メール送信への切替