names=new
visibility=public
kind=defined

--- new(issuer_cert=nil, subject_cert=nil, subject_req=nil, crl=nil) -> OpenSSL::X509::ExtensionFactory
ExtensionFactory オブジェクトを生成します。

証明書の発行者や所有者の [[c:OpenSSL::X509::Certificate]] オブジェクトや
[[c:OpenSSL::X509::Request]]、[[c:OpenSSL::X509::CRL]] オブジェクトを
渡すことによって、拡張領域の中身を ExtensionFactory オブジェクトが
計算することができます。
例えば、"subjectKeyIdentifier" 拡張領域は証明書の一部のハッシュ値
を値として持ちますが、
[[c:OpenSSL::X509::Certificate]] オブジェクトをあらかじめ渡しておくことによって
[[m:OpenSSL::X509::ExtensionFactory#create_extension]] がその値を計算します。
これらの情報が必要ない場合は nil を渡します。

以下のメソッドによってオブジェクト生成後に証明書オブジェクト等を
設定することができます。
  * [[m:OpenSSL::X509::ExtensionFactory#issuer_certificate=]]
  * [[m:OpenSSL::X509::ExtensionFactory#subject_certificate=]]
  * [[m:OpenSSL::X509::ExtensionFactory#subject_request=]]
  * [[m:OpenSSL::X509::ExtensionFactory#crl=]] 

@param issuer_cert 証明書発行者、すなわち CA の 
       [[c:OpenSSL::X509::Certificate]] オブジェクト
@param subject_cert 証明書所有者の
       [[c:OpenSSL::X509::Certificate]] オブジェクト
@param subject_req 関連する証明書署名要求([[c:OpenSSL::X509::Request]])
       オブジェクト
@param crl 関連する 証明書失効リスト([[c:OpenSSL::X509::CRL]])オブジェクト

