証明書互換性問題

Prev Next

Classic/VPC環境で利用できます。

NAVER Cloud Trust Servicesのルート証明書が基本的にインストールされていない OSやソフトウェアバージョンを利用する場合、証明書互換性問題が発生することがあります。問題ごとの原因と解決方法を確認し、適切に対処してください。

問題状況

  • ウェブサイト、アプリケーション、APIで通信すると、セキュリティ警告や例外が発生します。

  • ウェブサイト、アプリケーション、APIで通信すると、アクセスが遮断されるか、エラーが発生します。

  • 次のようなエラーメッセージが表示されます。表示されるエラーメッセージはソフトウェアバージョンによって変わることがあります。

    ソフトウェア エラーメッセージ ルート証明書のアップデートまたは手動インストール対象
    Google Chrome NET::ERR_CERT_AUTHORITY_INVALID
    • Chrome 105バージョン以上の場合、Chromeブラウザ自体
    • Chrome 104以下バージョンの場合、Chromeブラウザがインストールされた OS
    Microsoft Edge NET::ERR_CERT_AUTHORITY_INVALID Edgeブラウザがインストールされた OS
    Mozilla Firefox SEC_ERROR_UNKNOWN_ISSUER Firefoxブラウザそのもの
    Apple Safari 接続したネットワークが非公開ではないという警告メッセージ > 証明書を見る > 最上位の証明書をクリックすると、「このルートの証明書は信頼されません」 Safariブラウザがインストールされた OS
    Google Androidアプリケーション java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Android OS
    JAVAアプリケーション PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target JAVA TrustStore

原因

NAVER Cloud Trust Servicesのルート証明書が基本的にインストールされていない OSおよびソフトウェアバージョンを利用する場合、SSL/TLS証明書を信頼できない証明書だと判断してウェブサイト、アプリケーション、API通信時にセキュリティ警告が表示されるか、接続が遮断されることがあります。

解決方法

証明書互換性の事前確認

OSおよびソフトウェアのプロバイダは信頼できる認証機関のルート証明書をルート保存場所に基本的にインストールすることで、別途ルート証明書をインストールしなくても信頼できる SSL/TLS通信ができます。発行した証明書が適用されたテストウェブサイトにアクセスして利用中の OSおよびソフトウェアで正常に動作するかご確認ください。

参考

発行した証明書の互換性が確保された OSおよびソフトウェアバージョンを確認するには、発行した証明書の互換性をご参照ください。

JAVA互換性の事前確認

JAVA互換性が必要な代表的なシナリオです。

区分 説明
外部 APIの呼び出し JAVAアプリケーションに(例) モバイルアプリバックエンド)が外部の決済代行会社(PG)の API、天気 APIなどの外部サービスの HTTPS APIを直接呼び出す場合
セキュリティデータベースと接続 JAVAアプリケーションが SSL/TLS暗号化接続をサポートするデータベースサーバ(例) MySQL、PostgreSQL、Oracleなど)にアクセスする場合
セキュリティメールの送信/受信 JAVAアプリケーションが SMTPS、IMAPS、POP3Sなどのセキュリティプロトコルを通じてメールサーバと通信してメールの送信や受信を行う場合
  • このようなシナリオで JAVAアプリケーションがクライアントのロールをして NAVER Cloud Trust Services証明書が適用されたサーバに HTTPS通信を試すことになります。JAVAアプリケーションが動作するローカルで NAVER Cloud Trust Servicesルート証明書が信頼されると正常に通信できます。
  • NAVER Cloud Trust Servicesルート証明書と基本的に互換性のある JAVAバージョン情報は証明書情報 > JAVA互換性セクションをチェックしてください。

使用中の JAVAバージョンを確認する方法です。

  1. JAVAバージョン確認コマンド
java -version
  1. 出力結果の例
openjdk version "1.8.0_442"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_442-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.442-b06, mixed mode)
  • openjdk version {버전}を通じて javaバージョンを確認します。
  • OpenJDK Runtime Environment {공급사 또는 소프트웨어 이름}を通じてプロバイダを確認します。
  • NAVER Cloud Trust Servicesルート証明書と基本的に互換性のある JAVAバージョン情報は証明書情報 > JAVA互換性セクションをチェックしてください。

NAVER Cloud Trust Servicesルート証明書との互換性を確認する方法です。

  1. cacertsの場所確認

JAVA 8以下で cacertsは一般的に JAVAインストールパスの jre/lib/security ディレクトリにあります。
例:

$JAVA_HOME/jre/lib/security/cacerts

JAVA 8以下で cacertsは一般的に JAVAインストールパスの lib/security ディレクトリにあります。
例:

$JAVA_HOME/lib/security/cacerts
  1. keytoolで NAVER Cloud Trust Servicesのルート証明書が照会されるか確認します。正しい cacerts の場所を入力したものの、照会結果がない場合はルート証明書のインストールが必要です。

Linuxまたは macOSでの bash/zshコマンドの例:

keytool -list -keystore "{1で確認されたパス}/cacerts" -storepass changeit -v | grep -i naver

Windowsでのコマンドの例:

keytool -list -v -keystore "{1で確認されたパス}\cacerts" -storepass changeit | findstr /i naver
  • もし JAVA_HOMEが設定されていない状態なら $JAVA_HOMEではなく、JAVAのインストールパス全体を入力します。
  • changeitは storepassの初期パスワードです。

JAVA 16からは keytool -list -cacerts コマンドを使用できます。
例:

keytool -list -cacerts -storepass changeit | grep -i naver

JAVAバージョンや OSによって異なる場合はございますが、一般的に以下のようにルート証明書の情報が照会されます。

Alias name: cn=naver_global_root_certification_authority,o=naver_business_platform_corp.,c=kr
Owner: CN=NAVER Global Root Certification Authority, O=NAVER BUSINESS PLATFORM Corp., C=KR
Issuer: CN=NAVER Global Root Certification Authority, O=NAVER BUSINESS PLATFORM Corp., C=KR

NAVER Cloud Trust Servicesルート証明書のインストール

NAVER Cloud Trust Servicesルート証明書をインストールする方法は、次の通りです。

  1. ソフトウェア別の証明書互換性問題の例ルート証明書のアップデートまたは手動インストール対象 をご確認ください。
  2. 証明書互換性が確保されたバージョン、または最新バージョンにアップデートしてください。
  3. アップデートができない場合、NAVER Cloud Trust Servicesルート証明書を手動でインストールするか、信頼できる証明書保存場所に追加してください。

Windows OSルート証明書のインストール

Windows OSルート証明書をインストールして 信頼できるルート認証機関 に追加する方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。
  2. 証明書情報を確認します。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  3. Local Machine certificateコンソール(certlm.msc)を実行します。
    • Windowsロゴキー + R > 実行certlm.mscを入力します。
    • または、 検索certlm.msc または「コンピュータ証明書管理」を検索した後に実行します。
  4. 上部の検索バーで 動作 > 全てのタスク > インポート メニューをクリックします。
  5. 証明書インポートウィザード が表示されたら、保存場所を確認した後に [次へ] ボタンをクリックします。
  6. インポートするファイル のステップでファイル名の [検索する] ボタンをクリック > ファイル形式を「すべてのファイル(. )」に変更 > NAVERルート証明書ファイル(naverrca1.der)を選択した後に開きます。
  7. 証明書保存場所 のステップですべての証明書を以下の保存場所に保存 を選択 > 証明書保存場所の [検索する] ボタンをクリック > 信頼できるルート認証機関 フォルダを選択 > [確認] ボタンをクリックします。
  8. 証明書インポートウィザードの完了 ステップで選択した証明書の保存場所が「信頼できるルート認証機関」で、ファイル名が NAVERルート証明書になっているかを確認した後に [終了] ボタンをクリックします。
  9. NAVERルート証明書を正常にインポートしたかを確認します。
    • certlm.mscの左側のメニューで 証明書 - ローカルコンピュータ > 信頼できるルート認証機関 > 証明書 フォルダに NAVERルート証明書が含まれているかを確認します。

macOSルート証明書のインストール

macOSルート証明書をインストールする方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。
  2. 証明書情報を確認します。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  3. キーチェーンアクセスアプリを実行します。
  4. システムキーチェーンをクリックします。
  5. キーチェーンアクセスアプリの上に NAVERルート証明書ファイルをドラッグします。
    • コンピュータ管理者名とパスワード入力、または Touch IDの使用を要求する場合があります。
  6. インポートした NAVERルート証明書をクリックして信頼 > Secure Sockets Layer(SSL)値を「指定された値ではない」から「常に信頼」に変更 > [閉じる] ボタンをクリックします。
    • 閉じる ボタンをクリックした後、コンピュータ管理者名とパスワード入力、または Touch IDの使用を要求する場合があります。
  7. 発行した証明書を適用したサービス、またはテストウェブサイトが正常に動作しているかを確認します。

iOSルート証明書のインストール

iOSルート証明書をインストールする方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。

  2. ダウンロードする際に「このウェブサイトは構成プロファイルをダウンロードしようとしています。この動作を許可しますか?」ポップアップが表示されたら許可します。

    • プロファイルがダウンロードされます。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  3. 設定 > プロファイルをダウンロードしました > 「NAVER Global Root Certification Authority」をインストール > パスワードを入力 > [インストール] ボタンをクリックします。

    • プロファイルインストールのステップで 詳細情報 > 証明書 で証明書情報を確認できます。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  4. 設定 > 一般 > 情報 > 証明書の信頼設定 > ルート証明書全体の信頼を有効化 の「NAVER Global Root Certification Authority」を有効化します。

  5. 発行した証明書を適用したサービス、またはテストウェブサイトが正常に動作しているかを確認します。

Android OSルート証明書のインストール

参考

インストール方法はメーカー、 OSバージョンごとに異なることがあります。

Android 11バージョンでルート証明書をインストールする方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。
  2. デバイスで 設定 > 生体認証およびセキュリティ > その他のセキュリティ設定 > デバイスに保存された証明書をインストール > CA証明書 > インストールを続ける > 証明書をダウンロードしてパスから「naverrca1.der.crt」ファイルを選択した後に終了します。
    • 「CA証明書をインストールしました。」メッセージが表示されます。
  3. 設定 > 生体認証およびセキュリティ > その他のセキュリティ設定 > 証明書を確認 > ユーザー > 「NAVER Global Root Certification Authority」証明書が表示されているかを確認します。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  4. 発行した証明書を適用したサービス、またはテストウェブサイトが正常に動作しているかを確認します。

Android 10以下バージョンでルート証明書をインストールする方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。
    • 証明書名 のウィンドウが表示されます。
  2. 証明書名 を入力(例: naverrca1) > VPNとアプリ > [確認] ボタンをクリックします。
    • PIN、パターンまたはパスワードの入力を要求する場合があります。
    • 「naverrca1証明書をインストールしました。」メッセージが表示されます。
  3. 設定 > 生体認証およびセキュリティ > その他のセキュリティ設定 > 証明書を確認 > ユーザー > 「NAVER Global Root Certification Authority」証明書が表示されているかを確認します。
    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  4. 発行した証明書を適用したサービス、またはテストウェブサイトが正常に動作しているかを確認します。
    • まだデバイスに PIN、パターンやパスワードを設定していない場合、設定メッセージが表示されます。
    • ルート証明書をダウンロードする際に 使用するアプリケーション選択 のウィンドウが表示されると、 証明書インストールウィザード を選択した後に証明書名を入力します。

JAVAルート証明書のインストール

JAVAルート証明書をインストールする方法は、次の通りです。

  1. NAVERルート証明書をダウンロードします。

  2. 証明書情報を確認します。

    • NAVER Global Root Certification Authority
      – Public Key: RSA 4096
      – Serial Number: 0194301EA20BDDF5C5332AB1434471F8D6504D0D
      – Fingerprint (SHA256): 88F438DCF8FFD1FA8F429115FFE5F82AE1E06E0C70C375FAAD717B34A49E7265
      – Valid Until: 2037-08-19
    
  3. keytoolコマンドを利用して NAVERルート証明書を truststore(cacerts)に importします。

    $ keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias naverrca1 -file /downloaded/path/of/naverrca1.der
    

    オプションの説明:

    • -keystore オプションには cacertsファイルのパスを入力します。一般的に JAVAがインストールされたパスの /jdk{installed version}/jre/lib/security フォルダにあります。
    • -storepass オプションには keystoreパスワードを入力します。デフォルトパスワードは changeitです。違うパスワードを使用している場合は、このパスワードを入力します。
    • -noprompt オプションを追加すると、証明書情報の最終確認なしですぐ truststoreに証明書を追加します。入力した証明書の情報を再度確認するには、このオプションは除外します。
    • -alias オプションには truststoreに証明書を保存する時に使用するエイリアスを指定します。エイリアスは唯一である必要があります。
    • -file オプションにはダウンロードしたパスを含む NAVERルート証明書ファイルを入力します。
    参考

    Windows で keytoolコマンドを実行すると java.io.FileNotFoundException: (Access is denied) エラーが発生する場合があります。コマンドプロンプトを管理者権限で実行します。

  4. 発行した証明書が適用された JAVAアプリケーションが正常に動作するかを確認します。

参考

本ガイドで必要な情報が見つからない場合やさらに必要な情報がある場合は、いつでも以下のフィードバックアイコンをクリックして、ご意見をお寄せください。いただいたご意見を参照して、より有益な情報を提供できるよう努力してまいります。