| 
Foundation 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.security.cert.CertificateFactory
public class CertificateFactory
証明書ファクトリの機能を定義します。証明書ファクトリは、証明書オブジェクト、証明書パス (CertPath) および証明書の取り消しリスト (CRL) オブジェクトを符号から生成するために使用します。
 
複数の証明書からなる符号化では、互いに関連性がないと思われる証明書のコレクションを解析する場合に、generateCertificates を使用します。
 
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 | 
generateCertificates(InputStream inStream)
指定された入力ストリーム inStream から読み出された証明書のコレクションビューを返します。 | 
 CertPath | 
generateCertPath(InputStream inStream)
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。 | 
 CertPath | 
generateCertPath(InputStream inStream,
                 String encoding)
CertPath オブジェクトを生成し、InputStream である inStream から読み込まれたデータで初期化します。 | 
 CertPath | 
generateCertPath(List certificates)
CertPath オブジェクトを生成し、Certificate の List で初期化します。 | 
 CRL | 
generateCRL(InputStream inStream)
証明書の取り消しリスト (CRL) オブジェクトを生成し、入力ストリーム inStream から読み出されたデータを使って初期化します。 | 
 Collection | 
generateCRLs(InputStream inStream)
指定された入力ストリーム inStream から読み出された CRL のコレクションビューを返します。 | 
 Iterator | 
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 getCertPathEncodings()
CertPath の符号化の繰り返しを返します。繰り返しの最初はデフォルトの符号化になります。標準の符号化名とその形式については、「Java Certification Path API プログラマーズガイド」 の付録 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 プログラマーズガイド」 の付録 A を参照してください。
inStream - データが含まれる InputStreamencoding - データで使用される符号化
InputStream からのデータで初期化された CertPath
CertificateException - 復号化中に例外が発生した場合、または指定した符号化がサポートされていない場合
public final CertPath generateCertPath(List certificates)
                                throws CertificateException
CertPath オブジェクトを生成し、Certificate の List で初期化します。
提供される証明書は、CertificateFactory でサポートされている種類である必要があります。これらは、指定された List オブジェクトからコピーされます。
certificates - Certificate の List
CertPath
CertificateException - 例外が発生する場合
public final Collection 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 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 - 構文解析エラーの場合
  | 
Foundation 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。