Java プラットフォーム 1.2

java.security
クラス Security

java.lang.Object
  |
  +--java.security.Security

public final class Security
extends Object

このクラスは、すべてのセキュリティプロパティ、および共通のセキュリティメソッドを集中管理するものです。その主な使用目的の 1 つにプロバイダの管理があります。


メソッドの概要
static int addProvider(Provider provider)
          プロバイダを使用可能な次の位置に追加します。
static String getAlgorithmProperty(String algName, String propName)
          推奨されません。 このメソッドは、SUN 暗号サービスプロバイダのマスターファイル内の所有プロパティを返すために使用されます。これは、アルゴリズム固有のパラメータの構文解析方法を決定するための処理です。このメソッドの代わりに、プロバイダに基づくアルゴリズムに依存しない、AlgorithmParameters および KeyFactory エンジンクラス (JDK 1.2 より導入) を使用してください。
static String getProperty(String key)
          セキュリティプロパティ値を取得します。
static Provider getProvider(String name)
          指定された名前でインストールされているプロバイダを返します。
static Provider[] getProviders()
          インストールされているすべてのプロバイダの配列を返します。
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
 

メソッドの詳細

getAlgorithmProperty

public static String getAlgorithmProperty(String algName,
                                          String propName)
推奨されません。 このメソッドは、SUN 暗号サービスプロバイダのマスターファイル内の所有プロパティを返すために使用されます。これは、アルゴリズム固有のパラメータの構文解析方法を決定するための処理です。このメソッドの代わりに、プロバイダに基づくアルゴリズムに依存しない、AlgorithmParameters および KeyFactory エンジンクラス (JDK 1.2 より導入) を使用してください。
アルゴリズムに対する指定されたプロパティを取得します。アルゴリズムの名前は標準名とする必要があります。アルゴリズム標準名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照してください。使途の 1 つに、専用のアルゴリズムパーサによる使用があります。このアルゴリズムパーサは、(Key パーサが行うのとほぼ同様に) それが認識するアルゴリズムにクラスをマッピングします。
パラメータ:
algName - アルゴリズム名
propName - 取得するプロパティの名前
戻り値:
指定されたプロパティの値

insertProviderAt

public static int insertProviderAt(Provider provider,
                                   int position)
指定された位置に新しいプロバイダを追加します。位置は優先順になっていて、要求されたアルゴリズムに対してプロバイダがその順序で検索されます。この優先順序は守られない場合があることに注意してください。位置は 1 から始まるため、1 が最優先になり、その次が 2、... と続きます。プロバイダを追加するのが最終位置に限って正当である場合があり、そのようなときは、position 引数は無視されます。

指定されたプロバイダが要求された位置にインストールされる場合、その位置にあったプロバイダと position より大きい位置にあるすべてのプロバイダは、(インストールされているプロバイダのリストの最後の方に向かって) 1 つずつ繰り上げられます。

プロバイダは、インストール済みの場合には追加できません。

セキュリティマネージャが存在する場合、まず、セキュリティマネージャの checkSecurityAccess メソッドが引数として "insertProvider."+provider.getName() という文字列を指定して呼び出され、新しいプロバイダを追加してもかまわないかどうかを確認します。デフォルトの checkSecurityAccess の実装が使用される場合 (つまり、checkSecurityAccess メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission メソッドが引数として SecurityPermission("insertProvider."+provider.getName()) アクセス権を指定して呼び出された場合と同じです。

パラメータ:
provider - 追加されるプロバイダ
position - 呼び出し側がこのプロバイダに要望する優先的な位置
戻り値:
プロバイダが追加された実際の優先位置。インストール済みの場合は -1
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String) メソッドが新しいプロバイダを追加するアクセスを許可しないとき
関連項目:
getProvider(java.lang.String), removeProvider(java.lang.String), SecurityPermission

addProvider

public static int addProvider(Provider provider)
プロバイダを使用可能な次の位置に追加します。

セキュリティマネージャが存在する場合、まず、セキュリティマネージャの checkSecurityAccess メソッドが引数として "insertProvider."+provider.getName() という文字列を指定して呼び出され、新しいプロバイダを追加してもかまわないかどうかを確認します。デフォルトの checkSecurityAccess の実装が使用される場合 (つまり、checkSecurityAccess メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission メソッドが引数として SecurityPermission("insertProvider."+provider.getName()) アクセス権を指定して呼び出された場合と同じです。

パラメータ:
provider - 追加されるプロバイダ
戻り値:
プロバイダが追加された実際の優先位置。インストール済みの場合は -1
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String) メソッドが新しいプロバイダを追加するアクセスを許可しないとき
関連項目:
getProvider(java.lang.String), removeProvider(java.lang.String), SecurityPermission

removeProvider

public 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)

getProviders

public static Provider[] getProviders()
インストールされているすべてのプロバイダの配列を返します。配列内でのプロバイダの順序は優先順位の順になっています。
戻り値:
インストールされているすべてのプロバイダ

getProvider

public static Provider getProvider(String name)
指定された名前でインストールされているプロバイダを返します。指定された名前のプロバイダがインストールされていない場合は null を返します。
パラメータ:
name - 取得するプロバイダの名前
戻り値:
指定された名前のプロバイダ
関連項目:
removeProvider(java.lang.String), addProvider(java.security.Provider)

getProperty

public static String getProperty(String key)
セキュリティプロパティ値を取得します。

セキュリティマネージャが存在する場合、セキュリティマネージャの checkPermission メソッドが java.security.SecurityPermission("getProperty."+key) アクセス権を引数として指定して呼び出され、指定されたセキュリティプロバティ値を取得してもかまわないかどうかを確認します。

パラメータ:
key - 取得するプロパティのキー
戻り値:
キーに対応するセキュリティプロパティの値
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkPermission(java.security.Permission) メソッドが指定されたセキュリティプロパティ値を取得するアクセスを許可しないとき
関連項目:
SecurityPermission

setProperty

public static void setProperty(String key,
                               String datum)
セキュリティプロパティを設定します。

セキュリティマネージャが存在する場合、セキュリティマネージャの checkPermission メソッドが java.security.SecurityPermission("setProperty."+key) アクセス権を引数として指定して呼び出され、指定されたセキュリティプロバティ値を設定してもかまわないかどうかを確認します。

パラメータ:
key - 設定されるプロパティの名前
datum - 設定されるプロパティの値
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkPermission(java.security.Permission) メソッドが指定されたセキュリティプロパティ値を設定するアクセスを許可しないとき
関連項目:
SecurityPermission

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.