|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 を参照public static final CertificateFactory getInstance(String type, String provider) throws CertificateException, NoSuchProviderException
type
- 証明書タイプprovider
- プロバイダの名前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
- 証明書データを持つ入力ストリーム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
- 証明書を持つ入力ストリームpublic final CRL generateCRL(InputStream inStream) throws CRLException
inStream
から読み出されたデータを使って初期化します。
この証明書ファクトリによってサポートされている特殊な形式の CRL を利用するために、返された CRL オブジェクトを対応する CRL クラスに型キャストできます。たとえば、この証明書ファクトリが X.509 CRL を実装する場合、返された CRL オブジェクトを X509CRL
クラスに型キャストできます。
指定された入力ストリームが mark および reset をサポートしていない場合、このメソッドは入力ストリーム全体を使用します。
inStream
- CRL データを持つ入力ストリーム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 を持つ入力ストリーム
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |