
エラー0308010Cの修正方法 デジタルエンベロープルーチンがサポートされていません
- Lamiyi
- 0
- rhahw
新しいバージョンの macOS でコマンドを実行しようとすると、error:0308010C:digital envelope routines unsupported というメッセージが表示される場合があります。
OpenSSL 3.0以降、OpenSSLはアルゴリズムにいくつかの重要な変更を導入し、MD4アルゴリズムをOpenSSL 3.0のレガシープロバイダに移行しました。OpenSSLのプロバイダとは、必要に応じてアプリケーションに追加できるアルゴリズムの集合です。レガシープロバイダには、時代遅れで安全性が低いとみなされるアルゴリズムが含まれており、デフォルトでは読み込まれません。
このエラーを解決する最も簡単な方法は、コマンドを変更して、従来のアルゴリズムのサポートを戻すことです。
エラー0308010Cを修正
ステップ1
この例では、openssl pkcs12 コマンドを使用して、OpenSSL 3.1.4 を実行している macOS Sonoma で PKCS#12 ファイルを PEM ファイルに解析します。
例:
openssl pkcs12 -in apns.p12 -out apns.pem -nodes

これにより、次のエラーが発生します。
キーと証明書の出力エラー
409CEAE301000000 :エラー:0308010C:デジタル エンベロープ ルーチン:inner_evp_generic_ fetch: サポートされていません:crypto/evp/evp_fetch.c:341:グローバル デフォルト ライブラリ コンテキスト、アルゴリズム (RC2-40-CBC: 0)、プロパティ ()

ステップ2
このエラーを解決するには、-legacy オプションを使用して openssl の従来のアルゴリズムのサポートを復元できます。
例:
openssl pkcs12 -in apns.p12 -out apns. pem -nodes -legacy


永久的な修正
必要に応じて、OpenSSL でレガシープロバイダーを永続的にロードすることもできます。手順は次のとおりです。
ステップ 1
次のコマンドを使用して、どのプロバイダーがロードされているかを確認します...
openssl リスト -プロバイダー

ステップ 2:
openssl 構成ファイルが配置されているディレクトリを見つけます...
openssl バージョン -d

ステップ3:
前のコマンドで見つかったディレクトリ情報を使用して、設定ファイルを編集用に開きます。プロンプトが表示されたら、管理者パスワードを入力します。
sudo nano /opt/homebrew/etc/openssl@3/openssl.cnf

ステップ 4
[provider_sect] の下に次の行を追加します。
レガシー = legacy_sect

ステップ5
[default_sect]の下の「activate = 1」行の#記号を削除してコメントを解除します。
[default_sect]
アクティブ化 = 1

ステップ6
その下に次の新しいセクションを追加します
[legacy_sect]
アクティブ化 = 1

ステップ 7:
Ctrl+X を押してファイルを終了し、Y を押して変更を保存します。

書き込むファイル名を確認するには、Returnを押します。

ステップ 8 次の
コマンドを使用して、レガシー プロバイダーがロードされていることを確認できます。
openssl リスト -プロバイダー

ステップ 9
最後に、最初のコマンドをもう一度試して、error:0308010C:digital envelope routines unsupported がなくなったことを確認します。

Related Posts

iTissueがあればもう心配は無用

iOS4 ごとに自動検出を行うバックグラウンダー
You may also like

iOS4 ごとに自動検出を行うバックグラウンダー
