セキュリティのトラブルシューティング
セキュリティ・アクセスを監視するには、java.security.debugシステム・プロパティを設定します。これにより、実行中にどのトレース・メッセージを出力するかを決定します。セキュリティ・プロパティ、セキュリティ・プロバイダおよびTLS関連の設定を表示するには、javaコマンドで-XshowSettings:securityオプションを指定します。
               
java.security.debugシステム・プロパティ
すべてのデバッグ・オプションのリストを表示するには、次のようにhelpオプションを使用します。MyAppは、任意のJavaアプリケーションです。javaコマンドはデバッグ・オプションを出力し、MyAppを実行する前に終了します。
                  
java -Djava.security.debug=help MyAppノート:
- 複数のオプションを使用するには、オプションをカンマで区切ります。
- JSSEでは、SSL/TLS/DTLSのトラブルシューティングのために動的なデバッグ・トレースもサポートされています。デバッグ・ユーティリティを参照してください。
次の表に、java.security.debugのオプションと各オプションの関連情報へのリンクを示します。
                  
表1-9 java.security.debugのオプション
                     
| オプション | 説明 | 関連情報 | 
|---|---|---|
| all | すべてのデバッグ・オプションを有効にします。 | なし | 
| access | 
 
 
 
 
 | JDKでのアクセス権 | 
| certpath | PKIX  
 
 | PKIプログラマーズ・ガイドの概要 | 
| combiner | のデバッグ | JDKでのアクセス権 | 
| configfile | JAAS (Java Authentication and Authorization Service)構成ファイルのロード | |
| configparser | JAAS構成ファイルの解析 | |
| gssloginconfig | Java GSS (Generic Security Services)ログイン構成ファイルのデバッグ | Java Generic Security Services: (Java GSS)およびKerberos 
 | 
| jar | JARファイルの検証 | Javaチュートリアルの「Verifying Signed JAR Files」 ノート:システム・プロパティ jdk.jar.maxSignatureFileSizeを使用して、署名付きJAR内の署名ファイルの最大サイズをバイト単位で指定します。デフォルト値は16000000(16 MB)です。 | 
| jca
 | JCAエンジン・クラスのデバッグ | |
| keystore
 | Keystoreのデバッグ | |
| logincontext | の結果 | |
| pcsc | Java Smart Card I/OおよびSunPCSCプロバイダのデバッグ | SunPCSCプロバイダおよび javax.smartcardioパッケージ | 
| pkcs11 | PKCS11セッション・マネージャのデバッグ | |
| pkcs11keystore | PKCS11 KeyStoreのデバッグ | |
| pkcs12 | PKCS12 KeyStoreのデバッグ | なし | 
| policy | ポリシー・ファイルによるアクセス権のロードと付与 | Javaチュートリアルの「Set up the Policy File to Grant the Required Permissions」(Controlling Applications) | 
| properties | java.security構成ファイルのデバッグ | なし | 
| provider | セキュリティ・プロバイダのデバッグ 次のオプションは、プロバイダ・オプションとともに使用できます。 
 <engines>に対してサポートされている値は次のとおりです。 
                                     
 | Java暗号化アーキテクチャ(JCA)リファレンス・ガイド | 
| scl | SecureClassLoaderによって割り当てられるアクセス権 | JDKでのアクセス権 | 
| securerandom | SecureRandomのデバッグ | SecureRandomクラス | 
| sunpkcs11 | SunPKCS11プロバイダのデバッグ | PKCS#11リファレンス・ガイド | 
| ts | Timestampingのデバッグ | なし | 
| x509 | X.509証明書のデバッグ | X.509証明書と証明書失効リスト(CRL) | 
スレッドおよびタイムスタンプ情報の出力
java.security.debugシステム・プロパティで指定された値に次の文字列を追加して、追加情報を出力できます:
                  
- +thread: スレッドおよび呼出し側情報を出力します
- +timestamp: タイムスタンプ情報を出力します
たとえば、スレッド、呼出し側、およびタイムスタンプ情報をすべてのデバッグ出力に追加するには、コマンドラインで次のようにjava.security.debugシステム・プロパティを設定します:
                  
java -Djava.security.debug=all+thread+timestamp MyAppjava -XshowSettings:securityオプション
javaコマンドの-XshowSettings:securityオプションを指定して、セキュリティ・プロパティ、セキュリティ・プロバイダおよびTLS関連の設定を表示できます。このオプションは、サード・パーティのセキュリティ・プロバイダの詳細がアプリケーションのクラス・パスまたはモジュール・パスに含まれ、そのようなプロバイダがjava.securityファイルで構成されている場合、それらを表示します。
                  
また、-XshowSettings:security:<subcategory>を指定できます。<subcategory>は次のいずれかです:
                  
- all: すべてのセキュリティ設定を表示します
- properties: セキュリティ・プロパティを表示します
- providers: 静的セキュリティ・プロバイダ設定を表示します
- tls: TLS関連のセキュリティ設定を表示します