2017-03-29 17 views
0

private_key.pfxによって署名された署名付きXML文書があります。Java公開鍵を使用してxmlデジタル署名を確認

今から始めるpublic_key.certファイルがあります。今

====== BEGIN OF ======= 
jksbfjkbckcnJKNBCKSJJksncs== 

====== END OF========== 

を、私は私がこれをどのように行うことができます私のpublic_key.cer

を使用して署名したXMLドキュメントを検証したいですか?

あなたが署名した文書で<Signature>要素を探す必要があり

答えて

0

を助けてください。 Java XML Digital Signature APIには、XMLSignature.validate()などの署名を検証するためのメソッドがあります。

あなたがこの記事をチェックアウトした場合

Programming With the Java XML Digital Signature API。 XML署名の検証で

重要なステップ。

// Find Signature element. 
NodeList nl = 
    doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature"); 
if (nl.getLength() == 0) { 
    throw new Exception("Cannot find Signature element"); 
} 

// Create a DOMValidateContext and specify a KeySelector 
// and document context. 
DOMValidateContext valContext = new DOMValidateContext 
    (new X509KeySelector(), nl.item(0)); 

// Unmarshal the XMLSignature. 
XMLSignature signature = fac.unmarshalXMLSignature(valContext); 

// Validate the XMLSignature. 
boolean coreValidity = signature.validate(valContext); 

まず、あなたが検証したい Signature要素の場所を見つける必要があります。これを行う1つの方法は、Code Sample 5に示すように、DOM getElementsByTagNameNSメソッドを使用することです。コードの第2の ブロックは、 KeySelectorオブジェクトとSignature要素への参照を含むDOMValidateContextオブジェクトを作成します。 KeySelectorオブジェクトの 目的は、KeyInfo要素に 情報を用いて公開鍵を取得し 検証鍵として使用することを手の甲することです。次のセクションでは、より具体的には のKeySelectorsについて説明します。最後の2行のコードが非マーシャル化され、 の署名が検証されます。 validateメソッドは、署名が有効な場合はtrueを返します。 が無効な場合はfalseを返します。

関連する問題