|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.cert.CertificateFactory
証明書ファクトリの機能を定義します。証明書ファクトリは、証明書オブジェクトおよび証明書の取り消しリスト (CRL) オブジェクトを符号から生成するために使用します。
X.509 の証明書ファクトリは、java.security.cert.X509Certificate
のインスタンスである証明書と、java.security.cert.X509CRL
のインスタンスである CRL を返す必要があります。
次の例は、Base64 で符号化された証明書を持つファイルを読み出します。これらの証明書は、先頭が -----BEGIN CERTIFICATE----- によって区切られ、終端が -----END CERTIFICATE----- によって区切られます。generateCertificate
の各呼び出しが 1 つの証明書だけを使用し、入力ストリームの読み出し位置がファイル内の次の証明書に置かれるように、FileInputStream
(mark
および reset
をサポートしていない) を ByteArrayInputStream
(これらのメソッドをサポート) に変換します。
FileInputStream fis = new FileInputStream(filename); DataInputStream dis = new DataInputStream(fis); CertificateFactory cf = CertificateFactory.getInstance("X.509"); byte[] bytes = new byte[dis.available()]; dis.readFully(bytes); ByteArrayInputStream bais = new ByteArrayInputStream(bytes); while (bais.available() > 0) { Certificate cert = cf.generateCertificate(bais); 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
,
CRL
,
X509CRL
コンストラクタの概要 | |
protected |
CertificateFactory(CertificateFactorySpi certFacSpi,
Provider provider,
String type)
指定されたタイプの CertificateFactory オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。 |
メソッドの概要 | |
Certificate |
generateCertificate(InputStream inStream)
証明書オブジェクトを生成し、入力ストリーム inStream から読み出されたデータを使ってその証明書オブジェクトを初期化します。
|
Collection |
generateCertificates(InputStream inStream)
指定された入力ストリーム inStream から読み出された証明書のコレクションビューを返します。 |
CRL |
generateCRL(InputStream inStream)
証明書の取り消しリスト (CRL) オブジェクトを生成し、入力ストリーム inStream から読み出されたデータを使って初期化します。
|
Collection |
generateCRLs(InputStream inStream)
指定された入力ストリーム inStream から読み出された CRL のコレクションビューを返します。 |
static CertificateFactory |
getInstance(String type)
指定されたタイプの証明書を実装する証明書ファクトリオブジェクトを作成します。 |
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 final Provider getProvider()
public final String getType()
public final Certificate generateCertificate(InputStream inStream) throws CertificateException
inStream
から読み出されたデータを使ってその証明書オブジェクトを初期化します。
指定された入力ストリーム inStream
は、1 つの証明書を格納している必要があります。
この証明書ファクトリによってサポートされている特殊形式の証明書を利用するために、返された証明書オブジェクトを対応する証明書クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 証明書を実装する場合、返された証明書オブジェクトを X509Certificate
クラスに型キャストできます。
X.509 証明書の証明書ファクトリの場合は、inStream
で提供される証明書は DER で符号化される必要があり、バイナリまたはプリント可能 (Base64) な符号で提供されることもあります。証明書が Base64 の符号で提供された場合、先頭は -----BEGIN CERTIFICATE----- によって区切られ、終端は -----END CERTIFICATE----- によって区切られる必要があります。
指定された入力ストリームが mark
および reset
をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。
inStream
- 証明書データを持つ入力ストリーム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
をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。
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
- 解析エラーの場合
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.