A SHA-2アルゴリズムを使用して署名された証明書でMD5アルゴリズムを使用して署名された証明書を置き換え

Message Digest 5 Algorithm (MD5)で署名した証明書の使用は控えるようにしてください。MD5アルゴリズムのセキュリティには脆弱性が見つかっています。そのため、MD5アルゴリズムを使用して署名した証明書は、Secure Hashing Algorithm 2 (SHA-2)で署名した証明書に置き換える必要があります。デフォルトでは、MD5アルゴリズムを使用して署名した証明書は、Oracle HTTP Serverでサポートされなくなりました。

ウォレット内にMD5アルゴリズムで署名した証明書が存在するかどうかを確認する方法

orapkiユーティリティを使用すると、MD5アルゴリズムで署名した証明書がウォレットに含まれているかどうかを表示できます。

MD5証明書がウォレット内に存在するかどうかを確認するには:
  1. orapkiおよびkeytoolのパスを見つけます。
    (orapki) ORACLE_HOME/oracle_common/bin/orapki
    (Keytool) ORACLE_HOME/oracle_common/jdk/jre/bin
  2. 次の手順で、JAVA_HOME環境変数を設定します。
    export JAVA_HOME=ORACLE_HOME/oracle_common/jdk/jre/
  3. 次のコマンドを入力して、ウォレットの内容を表示します。
    orapki wallet display -wallet wallet_location
    サンプル・コマンド:
    ORACLE_HOME/oracle_common/bin/orapki wallet display -wallet /scratch/ohs12.2.1.x_install/walletohs2/
    出力:
    Oracle PKI Tool : Version 12.2.0.1.0
    Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Requested Certificates:
    User Certificates:
    Subject: CN=www.xyx.com,C=IN
    Trusted Certificates:
    Subject: CN=www.xyx.com,C=IN
  4. ウォレット内に存在する証明のドメイン名(DN)を特定します。この例では、「User Certificates」の「Subject」がウォレット内に存在するDNです(CN=www.xyx.com,C=IN)。
  5. 次の例に示すように、ウォレット内に存在する証明書をエクスポートします。
    orapki wallet export -wallet wallet_Location -dn 'DN_string' -cert certificate_file
    サンプル・コマンド:
    ORACLE_HOME/oracle_common/bin/orapki wallet export -wallet /scratch/ohs12.2.1.x_install/walletohs2/ -dn  'CN=www.xyx.com,C=IN' -cert wallet.cert
  6. 次に示すコマンドを入力して、前のステップでエクスポートしたcertificate_fileの署名に使用されている署名アルゴリズムをkeytoolで確認します。
    ORACLE_HOME/oracle_common/jdk/jre/bin/keytool -printcert -file certificate_file
    サンプル・コマンド:
    /scratch/ohs12.2.1.x_install/oracle_common/jdk/jre/bin/keytool -printcert -file wallet.cert
    出力:
    Owner: CN="Self-Signed Certificate for ohs3 ", OU=OAS, O=ORACLE, L=REDWOODSHORES, ST=CA, C=US
    Issuer: CN="Self-Signed Certificate for ohs3 ", OU=OAS, O=ORACLE, L=REDWOODSHORES, ST=CA, C=US
    Serial number: cd7081c47adb9ff867da01e3fe383e0f
    Valid from: Fri Jul 01 04:21:40 PDT 2016 until: Sat Jun 19 04:21:40 PDT 2066
    Certificate fingerprints:
     MD5: 89:4D:C4:B4:28:7E:D4:0A:93:CA:E4:97:0C:F0:CE:86
     SHA1: 53:FB:D6:58:0D:09:85:E9:6D:55:E2:92:E7:87:08:B8:65:92:15:9E
     Signature algorithm name: MD5withRSA
     Version: 1
    「Signature algorithm name: MD5withRSA」は、ウォレット内に存在する証明書の署名に、MD5アルゴリズムが使用されていることを意味します。

MD5アルゴリズムで署名された証明書をウォレットから削除する方法

MDSがウォレットに存在する場合、署名アルゴリズム名がMDSwithRSAとして表示されます。この証明書は、SHA2アルゴリズムを使用して署名された証明書で置き換える必要があります。

MD5アルゴリズムで署名された証明書をウォレットから削除するには:
  1. 次に示すコマンドを入力して、MD5アルゴリズムで署名されたユーザー証明書を削除します。
    orapki wallet  remove -wallet wallet_location -dn 'DN_string' -user_cert -auto_login_only
    サンプル・コマンド:
    /scratch/ohs12.2.1.x_install/oracle_common/bin/orapki wallet remove -wallet /scratch/ohs12.2.1.x_install/walletohs2/ -dn 'CN=www.xyx.com,C=IN' -user_cert -auto_login_only
    出力:
    Oracle PKI Tool : Version 12.2.0.1.0
    Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
  2. ユーザー証明書が自己署名証明書の場合は、次に示すコマンドを入力して、その証明書を信頼できる証明書リクエストした証明書のリストから削除します。
    orapki  wallet  remove  -wallet  wallet_location -dn  'DN_string' -trusted_cert  -auto_login_only
    orapki  wallet  remove  -wallet  wallet_location -dn  'DN_string' -cert_req  -auto_login_only
    サンプル・コマンド:
    /scratch/ohs12.2.1.x_install/oracle_common/bin/orapki wallet remove -wallet /scratch/ohs12.2.1.x_install/walletohs2/ -dn 'CN=www.xyx.com,C=IN' -trusted_cert -auto_login_only
    出力:
    Oracle PKI Tool : Version 12.2.0.1.0
    Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
  3. MD5アルゴリズムを使用して署名された信頼できる証明書または証明書リクエストがウォレットにある場合、次のコマンドを入力してその証明書を削除します。
    orapki wallet remove -wallet wallet_location -dn 'DN_string' -trusted_cert -auto_login_only remove cert request
    orapki wallet remove -wallet wallet_location -dn 'DN_string' -cert_req -auto_login_only

SHA-2アルゴリズムで署名された証明書をウォレットに追加する方法

MD5アルゴリズムで署名されたCA署名ユーザー証明書を使用している場合、認証局に連絡してSHA-2アルゴリズムで署名された新しいユーザー証明書を取得し、ウォレットにインポートします。

SHA-2アルゴリズムを使用して署名された、自己署名証明書を追加する方法は次のとおりです。
  1. 証明書が自己署名の場合、次のコマンドを入力して、SHA-2アルゴリズムを使用して署名された自己署名証明書を追加します。
    orapki wallet add -wallet wallet_Location  -dn 'DN_String' -keysize 2048 -sign_alg sha256  -self_signed -validity 9125 -auto_login_only
    サンプル・コマンド:
    /scratch/ohs12.2.1.x_install/oracle_common/bin/orapki wallet add -wallet /scratch/ohs12.2.1.x_install/walletohs2/ -dn 'CN=www.xyx.com,C=IN' -keysize 2048 -sign_alg sha256  -self_signed -validity 9125 -auto_login_only
  2. 次のコマンドを入力することで、SHA-2アルゴリズムを使用して署名された信頼できる証明書をウォレットに追加します。 
    orapki -wallet add -wallet wallet_location -trusted_cert -cert certificate_file -auto_login_only
  3. 次のコマンドを入力することで、SHA-2アルゴリズムを使用して署名されたユーザー証明書をウォレットに追加します。 
    orapki -wallet add -wallet wallet_location -user_cert -cert certificate_file -auto_login_only
証明書ファイルを出力したときに、「signature algorithm name」がSHA256withRSAと表示される場合は、操作が成功しています。サンプル出力は次のようになります。
Owner: CN=www.xyx.com, C=IN
Issuer: CN=www.xyx.com, C=IN
Serial number: f689ec6986c70f973138962eb2f0e5f9
Valid from: Wed May 11 04:01:24 PDT 2016 until: Sat Oct 27 04:01:24 PDT 2018
Certificate fingerprints:
   MD5:  D7:0F:CB:00:A7:04:33:DA:2F:8A:AD:C9:2A:9E:DF:26
   SHA1: D4:6C:51:DB:53:B5:F5:C7:60:8D:8B:95:68:E6:B0:5E:E8:00:ED:DF
   SHA256: B1:EF:73:98:EA:6A:1A:60:FF:1F:10:89:8C:B8:16:63:71:03:1B:6E:38:D1:2D:AE:E9:BD:3E:13:BE:AF:A0:76
   Signature algorithm name: SHA256withRSA
   Version: 1

MD5アルゴリズムで署名された証明書のサポートを12.2.1.3.0 Oracle HTTP Serverデプロイメントで有効にする方法

デフォルトでは、MD5アルゴリズムで署名された証明書のサポートは廃止されています。これは、MD5アルゴリズムのセキュリティに重大な脆弱性があるためです。それでもMD5アルゴリズムを使用して署名された証明書を使用する場合には、この項の手順に従ってMD5アルゴリズムで署名された証明書のサポートを有効化できます。ただし、MD5アルゴリズムで署名された証明書のサポートを有効化することは、お薦めできません。

MD5アルゴリズムで署名された証明書のサポートを有効化するには:
  1. スタンドアロンOracle HTTP Serverデプロイメントの場合:
    1. Oracle HTTP Serverインスタンスとノード・マネージャを停止します。
    2. 次に示すステージング・ディレクトリに変更します。
      (UNIX) ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1/
      (Windows) ORACLE_HOME\user_projects\domains\base_domain\config\fmwconfig\components\OHS\ohs1\
    3. 編集モードでohs.plugins.nodemanager.propertiesファイルを開いて、次に示す行を追加します。
      environment.ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES = 1
    4. ノード・マネージャとOracle HTTP Serverインスタンスを再起動します。
  2. 管理対象Oracle HTTP Serverデプロイメントの場合:
    1. Oracle HTTP Serverインスタンス、ノード・マネージャおよびWebLogic Serverを停止します。
    2. 次に示すステージング・ディレクトリに変更します。
      (UNIX) ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1/
      (Windows) ORACLE_HOME\user_projects\domains\base_domain\config\fmwconfig\components\OHS\ohs1\
    3. 編集モードでohs.plugins.nodemanager.propertiesファイルを開いて、次に示す行を追加します。
      environment.ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES = 1
    4. WebLogic Server、ノード・マネージャおよびOracle HTTP Serverインスタンスを再起動します。
Oracle HTTP Serverインスタンスごとに、この手順を実行する必要があります。