- すべての実装されたインタフェース:
Serializable
,Cloneable
,Map<Object,
Object>
- 直系の既知のサブクラス:
AuthProvider
- アルゴリズム(DSA、RSA、またはSHA-256など)。
- キーの生成、変換、および管理機能(アルゴリズム固有キーなど)
プロバイダ実装によっては、セキュリティ・トークンとの通信エラーなどの、処理中に復旧できない内部エラーが発生する可能性があります。 そのようなエラーを通知するにはProviderException
を使用してください。
プロバイダは、プラガブル・アーキテクチャを使用するJavaのセキュリティ・サービスを実装するのに使用でき、その下に適合する実装を選択できることに注意してください。
サービス・タイプProvider
はセキュリティ・フレームワーク用に予約されています。 このタイプのサービスをアプリケーションから追加、削除、または変更することはできません。 各Providerオブジェクト内には次の属性が自動的に格納されます。
名 | 値 |
---|---|
Provider.id name |
String.valueOf(provider.getName()) |
Provider.id version |
String.valueOf(provider.getVersionStr()) |
Provider.id info |
String.valueOf(provider.getInfo()) |
Provider.id className |
provider.getClass().getName() |
各プロバイダには名前とバージョン文字列があります。 プロバイダは、通常、リソース・ディレクトリMETA-INF/services
内のjava.security.Provider
という名前のファイルで自身を識別します。 セキュリティ・プロバイダは、application class loader
を使用してServiceLoader
メカニズムを介して検索されます。
プロバイダは、自動的にインストールされ、Security.getProviders()
メソッドを介して実行時に利用可能になるように構成することができます。 セキュリティ・プロバイダの構成とインストールの仕組みは実装固有のものです。
- 実装上のノート:
- JDK実装は、Javaインストール・ディレクトリの
conf/security/java.security
ファイルを介してセキュリティ・プロバイダの静的登録をサポートします。 これらのプロバイダは、JDKランタイムによって自動的にインストールされます。特定のタイプのプロバイダ(暗号化サービス・プロバイダ)がどのように動作し、インストールされているかについては、Java暗号化アーキテクチャ・リファレンス・ガイド(JCA)リファレンス・ガイドの「プロバイダ・クラス」を参照してください。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
ネストされたクラスのサマリー
-
フィールドのサマリー
クラス java.util.Propertiesで宣言されたフィールド
defaults
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明void
clear()
このProvider
をクリアして、Provider
によって実装された機能の検索に使用されるプロパティが含まれないようにします。指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull
)。computeIfAbsent
(Object key, Function<? super Object, ? extends Object> mappingFunction) 指定されたキーがまだ値に関連付けられていない(またはnull
にマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、null
でない場合はそれをこのマップに入力します。computeIfPresent
(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーの値が存在していてnull以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。指定された構成引数をこのProvider
インスタンスに適用し、構成されたProvider
を返します。entrySet()
このProvider
に含まれるプロパティ・エントリの変更不可能なSetビューを返します。void
forEach
(BiConsumer<? super Object, ? super Object> action) このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。getInfo()
Provider
およびそのサービスの人間が読める説明を返します。getName()
このProvider
の名前を返します。getOrDefault
(Object key, Object defaultValue) 指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValue
を返します。getService
(String type, String algorithm) 指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。このProvider
でサポートされているすべてのサービスの変更不可能なセットを取得します。double
非推奨。代わりにgetVersionStr()
を使用してください。このProvider
のバージョン文字列を返します。boolean
このProvider
インスタンスが構成されているかどうかを確認します。keySet()
このProvider
に含まれるプロパティ・キーの変更不可のSetビューを返します。void
load
(InputStream inStream) 入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。merge
(Object key, Object value, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーがまだ値に関連付けられていないか、null
に関連付けられている場合は、指定された値に関連付けられます。key
プロパティが、指定されたvalue
を持つように設定します。void
指定したマップからこのProvider
にすべてのマッピングをコピーします。putIfAbsent
(Object key, Object value) 指定されたキーがまだ値に関連付けられていない(または、null
にマップされている)場合は、それを指定された値に関連付けてnull
を返します。それ以外の場合は、現在の値を返します。protected void
サービスを追加します。key
プロパティとそれに対応するvalue
を削除します。boolean
指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。protected void
以前にputService()
を使用して追加されたサービスを削除します。指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。boolean
指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。void
replaceAll
(BiFunction<? super Object, ? super Object, ? extends Object> function) すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。toString()
このProvider
の名前とバージョン文字列を含む文字列を返します。values()
このProvider
に含まれるプロパティ値の変更不可の収集ビューを返します。クラス java.util.Propertiesで宣言されたメソッド
getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames
-
コンストラクタの詳細
-
Provider
@Deprecated(since="9") protected Provider(String name, double version, String info) 非推奨。代わりにProvider(String, String, String)
を使用してください。指定された名前、バージョン番号および情報を使用してProvider
を構築します。 このコンストラクタを呼び出すことは、name
の名前、Double.toString(version)
、およびinfo
を使用してProvider(String, String, String)
を呼び出すことと同じです。- パラメータ:
name
- プロバイダの名前。version
- プロバイダのバージョン番号。info
- プロバイダとそのサービスの記述。
-
Provider
指定された名前、バージョン文字列および情報でProvider
を構築します。バージョン文字列には、'+'、'-'のいずれかの文字で区切られた別の情報が後に続くバージョン番号が含まれます。 バージョン番号の形式は次のとおりです:
^[0-9]+(\.[0-9]+)*
ダブルでバージョン番号を返すために、2つ以上のコンポーネント(上記で定義した'.'で区切られます)がある場合、最初の2つのコンポーネントだけが保持されます。 結果の文字列は
Double.valueOf(String)
に渡され、バージョン番号、すなわちgetVersion()
が生成されます。変換に失敗した場合は、値0が使用されます。
- パラメータ:
name
- プロバイダの名前。versionStr
- プロバイダのバージョン文字列。info
- プロバイダとそのサービスの記述。- 導入されたバージョン:
- 9
-
-
メソッドの詳細
-
configure
指定された構成引数をこのProvider
インスタンスに適用し、構成されたProvider
を返します。 このProvider
をインプレースで構成できない場合は、新しいProvider
が作成されて返されます。 したがって、コール元は常に返されたProvider
を使用する必要があります。- 実装要件:
- デフォルト実装は
UnsupportedOperationException
をスローします。 サブクラスは、構成引数がサポートされている場合にのみ、このメソッドをオーバーライドする必要があります。 - パラメータ:
configArg
- このプロバイダを構成するための構成情報。- 戻り値:
- 指定された構成引数で構成された
Provider
。 - 例外:
UnsupportedOperationException
- 構成引数がサポートされていない場合。NullPointerException
- 指定された構成引数がnull
の場合。InvalidParameterException
- 指定された構成引数が無効な場合。- 導入されたバージョン:
- 9
-
isConfigured
public boolean isConfigured()このProvider
インスタンスが構成されているかどうかを確認します。- 実装要件:
- デフォルトの実装では
true
を返します。 サブクラスは、Provider
が構築後に明示的なconfigure
コールを必要とする場合、このメソッドをオーバーライドする必要があります。 - 戻り値:
- これ以上の構成が必要ない場合は
true
、それ以外の場合はfalse
。 - 導入されたバージョン:
- 9
-
getName
public String getName()このProvider
の名前を返します。- 戻り値:
- この
Provider
の名前。
-
getVersion
@Deprecated(since="9") public double getVersion()非推奨。代わりにgetVersionStr()
を使用してください。このProvider
のバージョン番号を返します。- 戻り値:
- この
Provider
のバージョン番号。
-
getVersionStr
public String getVersionStr()このProvider
のバージョン文字列を返します。- 戻り値:
- この
Provider
のバージョン文字列。 - 導入されたバージョン:
- 9
-
getInfo
public String getInfo()Provider
およびそのサービスの人間が読める説明を返します。 関連するリンクを持つHTMLページを返すこともあります。- 戻り値:
Provider
およびそのサービスの説明。
-
toString
public String toString()このProvider
の名前とバージョン文字列を含む文字列を返します。 -
clear
public void clear()このProvider
をクリアして、Provider
によって実装された機能の検索に使用されるプロパティが含まれないようにします。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"clearProviderProperties."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> clear
- オーバーライド:
- クラス
Hashtable<Object,
のObject> clear
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダをクリアするアクセスを許可しない場合- 導入されたバージョン:
- 1.2
-
load
public void load(InputStream inStream) throws IOException 入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。- オーバーライド:
load
、クラスProperties
- パラメータ:
inStream
- 入力ストリーム。- 例外:
IOException
- 入力ストリームからの読込み中にエラーが発生した場合。- 関連項目:
-
putAll
public void putAll(Map<?, ?> t) 指定したマップからこのProvider
にすべてのマッピングをコピーします。 これらのマッピングは、このProvider
が指定したマップに現在存在するキーに対して持っていたすべてのプロパティを置換します。 -
entrySet
このProvider
に含まれるプロパティ・エントリの変更不可能なSetビューを返します。 -
keySet
このProvider
に含まれるプロパティ・キーの変更不可のSetビューを返します。 -
values
public Collection<Object> values()このProvider
に含まれるプロパティ値の変更不可の収集ビューを返します。 -
put
key
プロパティが、指定されたvalue
を持つように設定します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> put
- オーバーライド:
- クラス
Hashtable<Object,
のObject> put
- パラメータ:
key
- ハッシュ表キーvalue
- 値- 戻り値:
- ハッシュ表の指定されたキーの前の値。それがない場合は
null
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.2
- 関連項目:
-
putIfAbsent
指定されたキーがまだ値に関連付けられていない(または、null
にマップされている)場合は、それを指定された値に関連付けてnull
を返します。それ以外の場合は、現在の値を返します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は
null
。 (また、実装がnull値をサポートしている場合、戻り値null
は、以前にマップでキーとnull
が関連付けられていたことを示す場合もある。) - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
remove
key
プロパティとそれに対応するvalue
を削除します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> remove
- オーバーライド:
- クラス
Hashtable<Object,
のObject> remove
- パラメータ:
key
- 削除するキー- 戻り値:
- ハッシュ表でそのキーにマップされている値。マップされている値がない場合は
null
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。- 導入されたバージョン:
- 1.2
-
remove
指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられていると予想される値- 戻り値:
- 値が削除された場合は
true
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
replace
指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
key
- 指定された値が関連付けられるキーoldValue
- 指定されたキーに関連付けられていると予想される値newValue
- 指定されたキーに関連付けられる値- 戻り値:
- 値が置換された場合は
true
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
replace
指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は
null
。 (また、実装がnull値をサポートしている場合、戻り値null
は、以前にマップでキーとnull
が関連付けられていたことを示す場合もある。) - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
replaceAll
public void replaceAll(BiFunction<? super Object, ? super Object, ? extends Object> function) すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
function
- 各エントリに適用する関数- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
compute
public Object compute(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull
)。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
および"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> compute
- オーバーライド:
- クラス
Hashtable<Object,
のObject> compute
- パラメータ:
key
- 指定された値が関連付けられるキーremappingFunction
- 値をコンピュートするための再マップ関数- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
computeIfAbsent
public Object computeIfAbsent(Object key, Function<? super Object, ? extends Object> mappingFunction) 指定されたキーがまだ値に関連付けられていない(またはnull
にマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、null
でない場合はそれをこのマップに入力します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
および"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> computeIfAbsent
- オーバーライド:
- クラス
Hashtable<Object,
のObject> computeIfAbsent
- パラメータ:
key
- 指定された値が関連付けられるキーmappingFunction
- 値をコンピュートするマッピング関数- 戻り値:
- 指定されたキーに関連付けられている現在の(既存の、または計算された)値。計算された値がnullである場合はnull
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値の設定およびプロパティの削除を行うアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
computeIfPresent
public Object computeIfPresent(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーの値が存在していてnull以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
および"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> computeIfPresent
- オーバーライド:
- クラス
Hashtable<Object,
のObject> computeIfPresent
- パラメータ:
key
- 指定された値が関連付けられるキーremappingFunction
- 値をコンピュートするための再マップ関数- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
merge
public Object merge(Object key, Object value, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーがまだ値に関連付けられていないか、null
に関連付けられている場合は、指定された値に関連付けられます。 それ以外の場合は、指定した再マッピング関数の結果で値を置換するか、結果がnull
の場合は削除します。 このメソッドは、1つのキーに対する複数のマップされた値を結合するときに使用できます。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
および"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,
内のObject> merge
- オーバーライド:
- クラス
Hashtable<Object,
のObject> merge
- パラメータ:
key
- 結果値が関連付けられるキーvalue
- キーに関連付けられた既存の値にマージされるnull以外の値。既存の値がない場合、またはキーにnull値が関連付けられている場合は、キーに関連付けられるnull以外の値remappingFunction
- 存在する場合に値を再計算するための再マッピング関数- 戻り値:
- 指定されたキーに関連付けられた新しい値。キーに値が関連付けられなかった場合はnull
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
getOrDefault
インタフェースからコピーされた説明:Map
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValue
を返します。- パラメータ:
key
- 関連付けられた値が返されるキーdefaultValue
- キーのデフォルト・マッピング- 戻り値:
- 指定されたキーがマップされている値。このマップにそのキーのマッピングが含まれていない場合は
defaultValue
- 導入されたバージョン:
- 1.8
-
forEach
public void forEach(BiConsumer<? super Object, ? super Object> action) インタフェースからコピーされた説明:Map
このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。 実装クラスで指定されない場合は、エントリ・セットの反復の順序でアクションが実行されます(反復順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。- パラメータ:
action
- 各エントリに対して実行されるアクション- 導入されたバージョン:
- 1.8
-
getService
public Provider.Service getService(String type, String algorithm) 指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。 このような実装が存在しない場合、このメソッドはnull
を返します。 条件に一致するサービスとして、putService()
を使用してこのプロバイダに追加されたものと、put()
経由で追加されたものの2つが見つかった場合、putService()
経由で追加されたサービスが返されます。- パラメータ:
type
- 要求されるservice
のタイプ(MessageDigest
など)algorithm
- リクエストされたサービスの大/小文字を区別しないアルゴリズム名(または代替別名) (たとえば、SHA-1
)- 戻り値:
- このプロバイダの一致するサービスを記述するサービス、またはそのようなサービスが存在しない場合は
null
- 例外:
NullPointerException
- タイプまたはアルゴリズムがnull
の場合- 導入されたバージョン:
- 1.5
-
getServices
public Set<Provider.Service> getServices()このProvider
でサポートされているすべてのサービスの変更不可能なセットを取得します。- 戻り値:
- この
Provider
でサポートされているすべてのサービスの変更不可能なセット - 導入されたバージョン:
- 1.5
-
putService
protected void putService(Provider.Service s) サービスを追加します。 同じアルゴリズム名の同じタイプのサービスが存在し、putService()
を使用して追加された場合、新しいサービスで置き換えられます。 このメソッドは、このサービスに関する情報を、プロバイダのHashtable値に、「Java暗号化アーキテクチャ(JCA)リファレンス・ガイド」で説明されている形式で格納します。また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャの
checkSecurityAccess
メソッドが引数として"putProviderProperty."+name
(name
はプロバイダの名前)という文字列を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかを確認します。checkSecurityAccess
のデフォルトの実装が(つまり、そのメソッドはオーバーライドされません。)を使用する場合は、checkPermission
メソッドがSecurityPermission("putProviderProperty."+name)
権限を持つセキュリティ・マネージャcheckPermission
メソッドが呼び出されます。- パラメータ:
s
- 追加するサービス- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。NullPointerException
- sがnull
の場合- 導入されたバージョン:
- 1.5
-
removeService
protected void removeService(Provider.Service s) 以前にputService()
を使用して追加されたサービスを削除します。 指定されたサービスは、このProvider
から削除されます。 これはgetService()
を呼び出しても返されなくなり、このプロバイダのHashtableからその情報が削除されます。また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"removeProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を削除してもよいかどうかが確認されます。checkSecurityAccess
のデフォルトの実装が(つまり、そのメソッドはオーバーライドされません。)を使用する場合は、checkPermission
メソッドがSecurityPermission("removeProviderProperty."+name)
権限を持つセキュリティ・マネージャcheckPermission
メソッドが呼び出されます。- パラメータ:
s
- 削除されるサービス- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。NullPointerException
- sがnull
の場合- 導入されたバージョン:
- 1.5
-
Provider(String, String, String)
を使用してください。