|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.security.Security
public final class Security
このクラスは、すべてのセキュリティープロパティー、および共通のセキュリティーメソッドを集中管理します。その主な使用目的の 1 つにプロバイダの管理があります。
メソッドの概要 | |
---|---|
static int |
addProvider(Provider provider)
プロバイダを可能な次の位置に追加します。 |
static Set |
getAlgorithms(String serviceName)
指定した Java 暗号化サービスで使用可能なアルゴリズムや型の名前 (Signature、MessageDigest、Cipher、Mac、KeyStore など) を含む String の Set を返します。 |
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 int insertProviderAt(Provider provider, int position)
あるプロバイダが要求された場所にインストールされた場合は、それまでその場所にあったプロバイダ、および position
よりあとの位置のすべてのプロバイダの順位は、1 つあとになり、インストールされたプロバイダ一覧の最後尾に向かって 1 つ移動します。
プロバイダは、インストール済みの場合には追加できません。
セキュリティーマネージャーが存在する場合、まずセキュリティーマネージャーの checkSecurityAccess
メソッドが文字列 "insertProvider."+provider.getName()
を指定して呼び出され、新しいプロバイダを追加してもよいかどうかが確認されます。checkSecurityAccess
のデフォルト実装が使用される場合 (つまり、このメソッドオーバーライドされていない場合)、このメソッドの呼び出しによって、セキュリティーマネージャーの checkPermission
メソッドが SecurityPermission("insertProvider."+provider.getName())
アクセス権を指定して呼び出されます。
provider
- 追加されるプロバイダposition
- 呼び出し側がこのプロバイダに要望する優先順位
SecurityException
- セキュリティーマネージャーが存在し、セキュリティーマネージャーの SecurityManager.checkSecurityAccess(java.lang.String)
メソッドが新しいプロバイダの追加を許可しない場合getProvider(java.lang.String)
,
removeProvider(java.lang.String)
,
SecurityPermission
public static int addProvider(Provider provider)
セキュリティーマネージャーが存在する場合、まずセキュリティーマネージャーの checkSecurityAccess
メソッドが文字列 "insertProvider."+provider.getName()
を指定して呼び出され、新しいプロバイダを追加してもよいかどうかが確認されます。checkSecurityAccess
のデフォルト実装が使用される場合 (つまり、このメソッドオーバーライドされていない場合)、このメソッドの呼び出しによって、セキュリティーマネージャーの checkPermission
メソッドが SecurityPermission("insertProvider."+provider.getName())
アクセス権を指定して呼び出されます。
provider
- 追加されるプロバイダ
SecurityException
- セキュリティーマネージャーが存在し、セキュリティーマネージャーの SecurityManager.checkSecurityAccess(java.lang.String)
メソッドが新しいプロバイダの追加を許可しない場合getProvider(java.lang.String)
,
removeProvider(java.lang.String)
,
SecurityPermission
public static void removeProvider(String name)
指定されたプロバイダが削除されると、そのプロバイダよりもあとの位置にあるすべてのプロバイダの位置が 1 つ前になり、インストールされたプロバイダ一覧の先頭に向かって 1 つ移動します。
このメソッドは、プロバイダがインストールされていない場合、処理を何も行わずに復帰します。
セキュリティーマネージャーが存在する場合、まずセキュリティーマネージャーの checkSecurityAccess
メソッドが文字列 "removeProvider."+name
を指定して呼び出され、プロバイダを削除してもよいかどうかが確認されます。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 など) にそれぞれ関連付けられています。注:java.security.cert.CertificateFactory は、J2ME Foundation Profile などの J2ME CDC プロファイルに入っています。
次の 2 種類の形式のどちらかで選択基準を指定する必要があります。
暗号化サービス名には、ドットを含まないようにします。
プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたは型を実装していると、プロバイダは指定された選択基準を満たしています。
「CertificateFactory.X.509」の場合は、X.509 証明書の CertificateFactory の実装を提供しているプロバイダであれば、その選択基準を満たしています。注:java.security.cert.CertificateFactory は、J2ME Foundation Profile などの J2ME CDC プロファイルに入っています。
暗号化サービス名には、ドットを含まないようにします。<algorithm_or_type> と <attribute_name> の間にスペース文字が 1 つ以上必要です。
プロバイダが、指定暗号化サービス向けに指定されたアルゴリズムまたは型を実装していて、その実装が指定された属性名と値のペアで表記された制約を満たしている場合、プロバイダはこの選択基準を満たしています。
たとえば、1024 以上のキーサイズを持つ SHA1withDSA 署名アルゴリズムを実装しているどのプロバイダも、「Signature.SHA1withDSA KeySize:1024」を満たしています。注:java.security.Signature は、J2ME Foundation Profile などの J2ME CDC プロファイルに入っています。
暗号化サービスの標準名、アルゴリズムの標準名、属性の標準名については、「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)
メソッドが指定されたセキュリティープロパティー値の取得を許可しない場合setProperty(java.lang.String, java.lang.String)
,
SecurityPermission
public static void setProperty(String key, String datum)
セキュリティーマネージャーが存在する場合、セキュリティーマネージャーの checkPermission
メソッドが java.security.SecurityPermission("getProperty."+key)
アクセス権を引数として指定して呼び出され、指定されたセキュリティープロパティー値を取得してもよいかどうかを確認します。
key
- 設定するプロパティーの名前datum
- 設定されるプロパティーの値
SecurityException
- セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkPermission(java.security.Permission)
メソッドが指定されたセキュリティープロパティー値の設定を許可しない場合getProperty(java.lang.String)
,
SecurityPermission
public static Set getAlgorithms(String serviceName)
serviceName
- Java 暗号化サービスの名前 (Signature、MessageDigest、Cipher、Mac、KeyStore など)。注:このパラメータは大文字と小文字を区別する
注:java.security.Signature、java.security.KeyStore は、J2ME Foundation Profile などの J2ME CDC プロファイルに入っています。Cipher、Mac は、J2ME Security Optional Package などの J2ME CDC オプションパッケージに入っています。
|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。