|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.security.cert.CertificateFactory
public class CertificateFactory
証明書ファクトリの機能を定義します。証明書ファクトリは、証明書オブジェクト、証明書パス (CertPath) および証明書の取り消しリスト (CRL) オブジェクトを符号から生成するために使用します。
複数の証明書からなる符号では、無関係と思われる証明書のコレクションを構文解析するときに generateCertificates を使用します。そうでない場合は、CertPath (証明書チェイン) を生成して CertPathValidator で検証するときに generateCertPath を使用します。
X.509 の証明書ファクトリは、java.security.cert.X509Certificate のインスタンスである証明書と、java.security.cert.X509CRL のインスタンスである CRL を返す必要があります。
次の例は、Base64 で符号化された証明書を持つファイルを読み出します。これらの証明書は、先頭が -----BEGIN CERTIFICATE----- によって区切られ、終端が -----END CERTIFICATE----- によって区切られます。generateCertificate の各呼び出しが 1 つの証明書だけを使用し、入力ストリームの読み出し位置がファイル内の次の証明書に置かれるように、FileInputStream (mark および reset をサポートしていない) を BufferedInputStream (これらのメソッドをサポート) に変換します。
FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
while (bis.available() > 0) {
Certificate cert = cf.generateCertificate(bis);
System.out.println(cert.toString());
}
次の例は、ファイルに格納されている PKCS#7 形式の証明書応答を構文解析し、すべての証明書を抽出します。
FileInputStream fis = new FileInputStream(filename);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection c = cf.generateCertificates(fis);
Iterator i = c.iterator();
while (i.hasNext()) {
Certificate cert = (Certificate)i.next();
System.out.println(cert);
}
Certificate,
X509Certificate,
CertPath,
CRL,
X509CRL| コンストラクタの概要 | |
|---|---|
protected |
CertificateFactory(CertificateFactorySpi certFacSpi,
Provider provider,
String type)
指定されたタイプの CertificateFactory オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。 |
| メソッドの概要 | |
|---|---|
Certificate |
generateCertificate(InputStream inStream)
証明書オブジェクトを生成し、入力ストリーム inStream から読み出されたデータを使ってその証明書オブジェクトを初期化します。 |
Collection<? extends Certificate> |
generateCertificates(InputStream inStream)
指定された入力ストリーム inStream から読み出された証明書のコレクションビューを返します。 |
CertPath |
generateCertPath(InputStream inStream)
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。 |
CertPath |
generateCertPath(InputStream inStream,
String encoding)
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。 |
CertPath |
generateCertPath(List<? extends Certificate> certificates)
CertPath オブジェクトを生成し、Certificate の List で初期化します。 |
CRL |
generateCRL(InputStream inStream)
証明書の取り消しリスト (CRL) オブジェクトを生成し、入力ストリーム inStream から読み出されたデータを使って初期化します。 |
Collection<? extends CRL> |
generateCRLs(InputStream inStream)
指定された入力ストリーム inStream から読み出された CRL のコレクションビューを返します。 |
Iterator<String> |
getCertPathEncodings()
この証明書ファクトリでサポートする CertPath の符号化の繰り返しを返します。 |
static CertificateFactory |
getInstance(String type)
指定されたタイプの証明書を実装する証明書ファクトリオブジェクトを作成します。 |
static CertificateFactory |
getInstance(String type,
Provider provider)
指定した証明書タイプで、指定したプロバイダから証明書ファクトリオブジェクトを生成します。 |
static CertificateFactory |
getInstance(String type,
String provider)
指定された証明書タイプの証明書ファクトリオブジェクトを、指定されたプロバイダから作成します。 |
Provider |
getProvider()
この証明書ファクトリのプロバイダを返します。 |
String |
getType()
この証明書ファクトリに関連した証明書タイプの名前を返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
protected CertificateFactory(CertificateFactorySpi certFacSpi,
Provider provider,
String type)
certFacSpi - プロバイダの実装provider - プロバイダtype - 証明書タイプ| メソッドの詳細 |
|---|
public static final CertificateFactory getInstance(String type)
throws CertificateException
type - 要求された証明書タイプの名前。標準の証明書タイプの詳細は、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
CertificateException - 要求された証明書タイプが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合
public static final CertificateFactory getInstance(String type,
String provider)
throws CertificateException,
NoSuchProviderException
type - 証明書タイプprovider - プロバイダ名
CertificateException - 証明書タイプが、指定されたプロバイダにない場合
NoSuchProviderException - プロバイダが設定されていない場合Provider
public static final CertificateFactory getInstance(String type,
Provider provider)
throws CertificateException
provider は登録されている必要はありません。
type - 証明書タイプprovider - プロバイダ
CertificateException - 証明書タイプが、指定されたプロバイダにない場合
IllegalArgumentException - provider が null の場合Providerpublic final Provider getProvider()
public final String getType()
public final Certificate generateCertificate(InputStream inStream)
throws CertificateException
inStream から読み出されたデータを使ってその証明書オブジェクトを初期化します。
この証明書ファクトリによってサポートされている特殊形式の証明書を利用するために、返された証明書オブジェクトを対応する証明書クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 証明書を実装する場合、返された証明書オブジェクトを X509Certificate クラスに型キャストできます。
X.509 証明書の証明書ファクトリの場合は、inStream で提供される証明書は DER で符号化される必要があり、バイナリまたはプリント可能 (Base64) な符号で提供されることもあります。証明書が Base64 の符号で提供された場合、先頭は -----BEGIN CERTIFICATE----- によって区切られ、終端は -----END CERTIFICATE----- によって区切られる必要があります。
指定された入力ストリームが mark および reset をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。そうでない場合、このメソッドが呼び出されるたびに証明書を 1 つ消費し、入力ストリームの読み込み位置は、固有の end-of-certificate マーカーのあとで次に使用可能なバイトに設定されます。固有の end-of-certificate マーカー (EOF 以外) が入力ストリームのデータに含まれず、証明書が構文解析されたあとでデータが続く場合は、CertificateException がスローされます。
inStream - 証明書データを持つ入力ストリーム
CertificateException - 構文解析エラーの場合public final Iterator<String> getCertPathEncodings()
CertPath の符号化の繰り返しを返します。繰り返しの最初はデフォルトの符号化になります。標準の符号化名とその形式については、「Java Certification Path API Programmer's Guide」 の付録 A を参照してください。
返された Iterator を remove メソッドで変更しようとすると、UnsupportedOperationException がスローされます。
CertPath の符号化 (String として) の名前についての Iterator
public final CertPath generateCertPath(InputStream inStream)
throws CertificateException
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。データは、デフォルトの符号化がされていると仮定されます。デフォルトの符号化の名前は、getCertPathEncodings メソッドで返される Iterator の最初の要素になります。
inStream - データが含まれる InputStream
InputStream からのデータで初期化された CertPath
CertificateException - 復号化中に例外が発生した場合
public final CertPath generateCertPath(InputStream inStream,
String encoding)
throws CertificateException
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。データは指定した符号化がされていると仮定されます。標準の符号化名とその形式については、「Java Certification Path API Programmer's Guide」 の付録 A を参照してください。
inStream - データが含まれる InputStreamencoding - データで使用される符号化
InputStream からのデータで初期化された CertPath
CertificateException - 復号化中に例外が発生した場合、あるいは指定した符号化がサポートされていない場合
public final CertPath generateCertPath(List<? extends Certificate> certificates)
throws CertificateException
CertPath オブジェクトを生成し、Certificate の List で初期化します。
提供される証明書は、CertificateFactory でサポートされている種類である必要があります。これらは、指定された List オブジェクトからコピーされます。
certificates - Certificate の List
CertPath
CertificateException - 例外が発生する場合
public final Collection<? extends Certificate> generateCertificates(InputStream inStream)
throws CertificateException
inStream から読み出された証明書のコレクションビューを返します。コレクションビューは空の場合もあります。
この証明書ファクトリによってサポートされている特殊な形式の証明書を利用するために、返されたコレクションビューの各要素を対応する証明書クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 証明書を実装する場合、返されたコレクション内の要素を X509Certificate クラスに型キャストできます。
X.509 証明書で使う証明書ファクトリの場合、inStream には、generateCertificate で説明されている形式の、DER で符号化された一連の証明書が格納されます。また、inStream には PKCS#7 証明連鎖が格納されます。これは PKCS#7 SignedData オブジェクトであり、上位フィールドは certificates だけです。特に、署名と内容は無視されます。この形式の場合、複数の証明書を 1 回でダウンロードできます。証明書がない場合は、空のコレクションが返されます。
指定された入力ストリームが mark および reset をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。
inStream - 証明書を持つ入力ストリーム
CertificateException - 構文解析エラーの場合
public final CRL generateCRL(InputStream inStream)
throws CRLException
inStream から読み出されたデータを使って初期化します。
この証明書ファクトリによってサポートされている特殊な形式の CRL を利用するために、返された CRL オブジェクトを対応する CRL クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 CRL を実装する場合、返された CRL オブジェクトを X509CRL クラスに型キャストできます。
指定された入力ストリームが mark および reset をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。そうでない場合、このメソッドが呼び出されるたびに CRL を 1 つ消費し、入力ストリームの読み込み位置は、固有の end-of-CRL マーカーのあとで次に使用可能なバイトに設定されます。固有の end-of-CRL マーカー (EOF 以外) が入力ストリームのデータに含まれず、CRL が構文解析されたあとでデータが続く場合は、CertificateException がスローされます。
inStream - CRL データを持つ入力ストリーム
CRLException - 構文解析エラーの場合
public final Collection<? extends CRL> generateCRLs(InputStream inStream)
throws CRLException
inStream から読み出された CRL のコレクションビューを返します。コレクションビューは空の場合もあります。
この証明書ファクトリによってサポートされている特殊な形式の CRL を利用するために、返されたコレクションビューの各要素を対応する CRL クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 CRL を実装する場合、返されたコレクション内の要素を X509CRL クラスに型キャストできます。
X.509 CRL の証明書ファクトリの場合は、inStream には、DER で符号化された一連の CRL が格納されます。また、inStream には PKCS#7 CRL セットが格納されます。これは PKCS#7 SignedData オブジェクトで、上位フィールドは crls だけです。特に、署名と内容は無視されます。この形式の場合、複数の CRL を 1 回でダウンロードできます。CRL がない場合は、空のコレクションが返されます。
指定された入力ストリームが mark および reset をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。
inStream - CRL を持つ入力ストリーム
CRLException - 構文解析エラーの場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。