4.XML文書に署名する (Java)
4.5 各要素を構成する
XML署名に含まれる各要素の構成を説明します。
それぞれの要素の意味やXMLスキーマなどはW3Cのサイトで確認してください。
それぞれの要素の意味やXMLスキーマなどはW3Cのサイトで確認してください。
4.5.1 <Reference>を構成する
Referenceインスタンスは、XMLSignatureFactoryクラスのnewReferenceメソッドをコールすることで生成されます。<Reference>は、これによって構成されます。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract Reference newReference( String uri, DigestMethod dm, List transforms, String type, String id)
- uri
- dm
- transforms
- type
- id
<Reference>のURI属性の値を指定します。ここでは、""を指定します。
ダイジェストメソッドを指定します。SHA1、SHA256、SHA512、RIPEMD160 などを指定できます。
変換アルゴリズムのリスト。変更不能なリストとしてコピーされます。4.5.2<Transform>を構成する を参照してください。
参照形URIを指定しますが、ここでは指定しませんので、 null とします。
参照形IDを指定しますが、ここでは null とします。
4.5.2 <Transform>を構成する
Transformインスタンスは、XMLSignatureFactoryクラスのnewTransformメソッドをコールすることで生成されます。<Reference>には、これのリストを指定します。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract Transform newTransform( String algorithm, TransformParameterSpec params)
- algorithm
- params
変換アルゴリズムを識別するURIを指定します。ここでは、Transform.ENVELOPED("http://www.w3.org/2000/09/xmldsig#enveloped-signature")を指定します。
変換アルゴリズム固有のパラメータをしていますが、ここでは null を指定します。
4.5.3 <SignedInfo>を構成する
SignedInfoインスタンスは、XMLSignatureFactoryクラスのnewSignedInfoメソッドをコールすることで生成されます。<Reference>には、これのリストを指定します。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract SignedInfo newSignedInfo( CanonicalizationMethod cm, SignatureMethod sm, List references)
- cm
- sm
- reference
正規化のメソッドを指定します。ここでは、C14N W/Commentsを生成して指定します。4.5.4<CanonicalizationMethod>を構成する を参照してください。
署名のメソッドを指定します。ここでは、DSA-SHA1を生成して指定します。4.5.5<SignatureMethod>を構成する を参照してください。
4.5.1<Reference>を構成する で作成したReferenceをリストで指定します。
4.5.4 <CanonicalizationMethod>を構成する
CanonicalizationMethodインスタンスは、XMLSignatureFactoryクラスのnewCanonicalizationMethodメソッドをコールすることで生成されます。<SignedInfo>には、これを指定します。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract CanonicalizationMethod newCanonicalizationMethod( String algorithm, C14NMethodParameterSpec params)
- algorithm
- params
正規化のアルゴリズムを識別するURIを指定します。ここでは、INCLUSIVE_WITH_COMMENTS("http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments")を指定しています。
アルゴリズム固有の正規化パラメータを指定しますが、ここでは null を指定します。
4.5.5 <SignatureMethod>を構成する
SignatureMethodインスタンスは、XMLSignatureFactoryクラスのnewSignatureMethodメソッドをコールすることで生成されます。<SignedInfo>には、これを指定します。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract SignatureMethod newSignatureMethod( String algorithm, SignatureMethodParameterSpec params)
- algorithm
- params
署名のアルゴリズムを識別するURIを指定します。ここでは、DSA_SHA1("http://www.w3.org/2000/09/xmldsig#dsa-sha1")を指定しています。
アルゴリズム固有の署名パラメータを指定しますが、ここでは null を指定します。
4.5.6 <KeyValue>を構成する
KeyValueインスタンスを生成するには、まず、XMLSignatureFactoryクラスのgetKeyInfoFactoryメソッドをコールすることでKeyInfoFactoryを得ます。次に、このKeyInfoFactoryクラスのnewKeyValueをコールすることで生成します。<KeyValue>は、これによって構成されます。
以下に、getKeyInfoFactoryメソッドの詳細を記します。
次に、newKeyValueメソッドの詳細を記します。
以下に、getKeyInfoFactoryメソッドの詳細を記します。
public final KeyInfoFactory getKeyInfoFactory()このメソッドから返された KeyInfoFactory は、この XMLSignatureFactory と同じ機構型およびプロバイダを持ちます。
次に、newKeyValueメソッドの詳細を記します。
public abstract KeyValue newKeyValue(PublicKey key)
- key
公開鍵を指定します。公開鍵は、4.5.7鍵ペアを生成する を参照してください。
4.5.7 鍵ペアを生成する
鍵ペアは、まず、KeyPairGeneratorクラスのgetInstanceをコールして生成します。次に、そのインスタンスのgenerateKeyPair()をコールすることで鍵ペアが生成されます。
以下に、getInstanceメソッドの詳細を記します。
以下に、getInstanceメソッドの詳細を記します。
public static KeyPairGenerator getInstance(String algorithm)
- algorithm
アルゴリズムの標準名の文字列を指定します。アルゴリズムの標準名は、以下のとおりです。
DSA: FIPS PUB 186 で定義されているデジタル署名アルゴリズム
RSA: PKCS #1 で定義されている RSA 暗号化アルゴリズム
DSA: FIPS PUB 186 で定義されているデジタル署名アルゴリズム
RSA: PKCS #1 で定義されている RSA 暗号化アルゴリズム
public KeyPair generateKeyPair()これによって、指定された鍵ペアが戻ります。
4.5.8 <KeyInfo>を構成する
KeyInfoインスタンスは、KeyInfoFactoryクラスのnewKeyInfoメソッドをコールすることで生成します。
以下に、メソッドの詳細を記します。
以下に、メソッドの詳細を記します。
public abstract KeyInfo newKeyInfo(List content)
- content
鍵情報の型を表現する XMLStructure のリスト。このリストは、変更不能としてコピーされます。
前のページ <<<
(記載の会社名および製品名は、各社の登録商標および商標です。)