| 
JavaTM 2 Platform Std. Ed. v1.3  | 
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.security.Security
このクラスは、すべてのセキュリティプロパティ、および共通のセキュリティメソッドを集中管理します。その主な使用目的の 1 つにプロバイダの管理があります。
| メソッドの概要 | |
static int | 
addProvider(Provider provider)
プロバイダを可能な次の位置に追加します。  | 
static String | 
getAlgorithmProperty(String algName,
                     String propName)
推奨されていません。 このメソッドは、SUN 暗号化サービスプロバイダのマスターファイル内にある所有プロパティの値を返すために使用されます。これは、アルゴリズム固有のパラメータの構文解析方法を決定するための処理です。このメソッドの代わりに、新しいプロバイダを基本とするアルゴリズムに依存しない、 AlgorithmParameters および KeyFactory エンジンクラス (Java 2 プラットフォームより導入) を使用してください。 | 
static String | 
getProperty(String key)
セキュリティプロパティ値を取得します。  | 
static Provider | 
getProvider(String name)
指定された名前でインストールされているプロバイダを返します。  | 
static Provider[] | 
getProviders()
インストールされているすべてのプロバイダの配列を返します。  | 
static Provider[] | 
getProviders(Map filter)
指定された選択基準を満たすすべてのインストールされたプロバイダを含む配列を返します。  | 
static Provider[] | 
getProviders(String filter)
指定された選択基準を満たすすべてのインストールされたプロバイダを含む配列を返します。  | 
static int | 
insertProviderAt(Provider provider,
                 int position)
指定された位置に新規プロバイダを追加します。  | 
static void | 
removeProvider(String name)
指定された名前のプロバイダを削除します。  | 
static void | 
setProperty(String key,
            String datum)
セキュリティプロパティの値を設定します。  | 
| クラス java.lang.Object から継承したメソッド | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| メソッドの詳細 | 
public static String getAlgorithmProperty(String algName,
                                          String propName)
AlgorithmParameters および KeyFactory エンジンクラス (Java 2 プラットフォームより導入) を使用してください。
algName - アルゴリズム名propName - 取得するプロパティの名前
public static int insertProviderAt(Provider provider,
                                   int position)
指定されたプロバイダが要求された位置にインストールされる場合、その位置にあったプロバイダと position を超える位置にあるすべてのプロバイダは、(インストールされているプロバイダのリストの最後の方に向かって) 1 つずつ繰り上げられます。
プロバイダは、インストール済みの場合には追加できません。
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkSecurityAccess メソッドが引数として "insertProvider."+provider.getName() という文字列を指定して呼び出され、新しいプロバイダを追加してもよいかどうかを確認します。デフォルトの checkSecurityAccess の実装が使用される場合 (つまり、checkSecurityAccess メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission メソッドが引数として SecurityPermission("insertProvider."+provider.getName()) アクセス権を指定して呼び出された場合と同じです。
provider - 追加されるプロバイダposition - 呼び出し側がこのプロバイダに要望する優先的な位置SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String) メソッドが新しいプロバイダの追加を許可しないときgetProvider(java.lang.String), 
removeProvider(java.lang.String), 
SecurityPermissionpublic static int addProvider(Provider provider)
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkSecurityAccess メソッドが引数として "insertProvider."+provider.getName() という文字列を指定して呼び出され、新しいプロバイダを追加してもよいかどうかを確認します。デフォルトの checkSecurityAccess の実装が使用される場合 (つまり、checkSecurityAccess メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission メソッドが引数として SecurityPermission("insertProvider."+provider.getName()) アクセス権を指定して呼び出された場合と同じです。
provider - 追加されるプロバイダSecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String) メソッドが新しいプロバイダの追加を許可しないときgetProvider(java.lang.String), 
removeProvider(java.lang.String), 
SecurityPermissionpublic static void removeProvider(String name)
指定されたプロバイダが削除される場合、指定されたプロバイダがあった位置を超える位置にあるすべてのプロバイダは、(インストールされているプロバイダのリストの先頭の方に向かって) 1 つずつ繰り下げられます。
このメソッドは、プロバイダがインストールされていない場合は、何も行わずに復帰します。
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkSecurityAccess メソッドが引数として "removeProvider."+name という文字列を指定して呼び出され、プロバイダを削除してもよいかどうかを確認します。デフォルトの checkSecurityAccess の実装が使用される場合 (つまり、checkSecurityAccess メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission メソッドが引数として SecurityPermission("removeProvider."+name) アクセス権を指定して呼び出された場合と同じです。
name - 削除されるプロバイダの名前SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String) メソッドがプロバイダの削除を許可しないときgetProvider(java.lang.String), 
addProvider(java.security.Provider)public static Provider[] getProviders()
public static Provider getProvider(String name)
name - 取得するプロパティの名前removeProvider(java.lang.String), 
addProvider(java.security.Provider)public static Provider[] getProviders(String filter)
暗号化サービスは必ず特定のアルゴリズムまたは型に関連付けられています。デジタル署名サービスの場合は、常に DSA などの特定のアルゴリズムと関連付けられており、CertificateFactory サービスは常に X.509 などの特定の証明型と関連付けられています。
次の 2 種類のフォーマットのどちらかで選択基準を指定する必要があります。
暗号化サービス名には、ドットを含まないようにします。
プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたは型を実装していると、プロバイダは指定された選択基準を満たしています。
「CertificateFactory.X.509」の場合は、X.509 証明書の CertificateFactory の実装を提供しているプロバイダであれば、その選択基準を満たしています。
暗号化サービス名には、ドットを含まないようにします。<algorithm_or_type> と <attribute_name> の間にスペース文字が 1 つ以上必要です。
プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたは型を実装していて、その実装が指定された属性名と値のペアで表記された制約を満たしている場合、プロバイダはこの選択基準を満たしています。
たとえば、1024 以上のキーサイズを持つ SHA1withDSA 署名アルゴリズムを実装しているどのプロバイダも、「Signature.SHA1withDSA KeySize:1024」を満たしています。
暗号化サービスの標準名、アルゴリズムの標準名、属性の標準名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
filter - プロバイダの選択基準。フィルタは大文字と小文字を区別するInvalidParameterException - フィルタが必要な形式でない場合getProviders(java.util.Map)public static Provider[] getProviders(Map filter)
選択基準はマップで表現されます。各マップエントリは選択基準のことです。すべての選択基準をプロバイダが満たしている場合、プロバイダは選択されます。このマップでは、どのエントリの鍵も次の 2 種類の形式のどちらかになります。
暗号化サービス名には、ドットを含まないようにします。
鍵に関連した値は空の文字列である必要があります。
プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたはタイプを実装していると、プロバイダはこの選択基準を満たしています。
暗号化サービス名には、ドットを含まないようにします。<algorithm_or_type> と <attribute_name> の間にスペース文字が 1 つ以上必要です。
鍵に関連した値は、空でない文字列になります。プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたはタイプを実装していて、その実装が指定された属性名と値のペアで表記された制約を満たしている場合、プロバイダはこの選択基準を満たしています。
暗号化サービスの標準名、アルゴリズムの標準名、属性の標準名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
filter - プロバイダの選択基準。フィルタは大文字と小文字を区別するInvalidParameterException - フィルタが必要な形式以外の場合getProviders(java.lang.String)public static String getProperty(String key)
セキュリティマネージャが存在する場合、セキュリティマネージャの checkPermission メソッドが java.security.SecurityPermission("getProperty."+key) アクセス権を引数として指定して呼び出され、指定されたセキュリティプロバティ値を取得してもよいかどうかを確認します。
key - 取得するプロパティのキーSecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkPermission(java.security.Permission) メソッドが指定されたセキュリティプロパティ値の取得を許可しないときSecurityPermission
public static void setProperty(String key,
                               String datum)
セキュリティマネージャが存在する場合、セキュリティマネージャの checkPermission メソッドが java.security.SecurityPermission("getProperty."+key) アクセス権を引数として指定して呼び出され、指定されたセキュリティプロバティ値を取得してもよいかどうかを確認します。
key - 設定されるプロパティの名前datum - 設定されるプロパティの値SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkPermission(java.security.Permission) メソッドが指定されたセキュリティプロパティ値の設定を許可しないときSecurityPermission
  | 
JavaTM 2 Platform Std. Ed. v1.3  | 
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
 Palo Alto, California, 94303, U.S.A.  All Rights Reserved.