1 1. 概要 WebReportCafe for.net では 生成した PDF に VeriSign の不可視電子署名を付加することができます 電子署名を付加する事により 文書の作成者を証明することができ 作成された PDF を改竄することが不可能になります この文書では WebReportCafe for.net で電子署名を付加するために必要な ドキュメントサイン用 Digital ID の取得と必須ファイル作成 WRC for.net Designer を使用した帳票フォームの設定 プログラム上での電子署名の設定方法を説明します
2 ドキュメントサイン用 Digital ID の取得と必須ファイルの作成 VeriSgin の不可視署名を PDF に付加するためには 日本ベリサイン社が販売しているドキュメントサイン用 Digital ID を購入する必要があります 購入の方法はベリサインのホームページ (http://www.verisign.co.jp/) を参照してください ベリサインから提供される Digital ID はプライベートキーが保存されている拡張子が PVK ファイルと 公開部分が格納されている SPC ファイルの二つのファイルに分かれています WRC で電子署名を行うには PVK と SPC を一つにした PKCS#12 形式のファイルを作成する必要が有ります PVK ファイルと SPC ファイルを PKCS#12 に変換するには Windows2000 又は WindowsXP と IE5.0 以上がインストールされている必要があります また Microsoft 社が提供している PVK Digital Certificate Files Importer という Digital ID を OS に取り込むコマンドラインツールが必要です PVK Digital Certificate Files Importer は Microsoft 社のホームページ (http://www.microsoft.com/japan/msdn/vba/technical/pvk.htm) から無料でダウンロードできます PVK Digital Certificate Files Importer にインストール方法等に関してはホームページの情報を参照してください PKCS#12 ファイルの作成手順は以下の通りです 1. OS の個人証明書ストアに Digital ID を取り込む OS の個人証明書ストアに Digital ID を取り込むには コマンドラインツールの PVK Digital Certificate Files Importer(pvkimprt.exe) を使用します コマンドプロンプトから下記のように PVK ファイルと SPC ファイルを引数として指定し実行します pvkimprt.exe "[SPC ファイルへのパス ]" "[PVK ファイルへのパス ]" すると Enter Private Key Password ダイアログが表示されるので 申請時に設定したパスワードを入力し [OK] ボタンをクリックします Enter Private Key Password ダイアログ 続いて 証明書インポートウィーザードが表示されます デフォルト状態でウィザードを進んでいき完了をクリックしてください 以上で 証明書ストアへの Digital ID の取り込みが完了します
3 2. 個人証明書ストアを表示する取り込んだ Digital ID を確認するために 個人証明書ストア を表示します まず Internet Explorer を起動し [ ツール ] メニューの [ インターネットオプション ] をクリックし 表示されたダイアログボックスの [ コンテンツ ] タブを選択します 続いて [ 証明書 ] ボタンをクリックすると Windows 証明書マネージャが表示されます [ 個人 ] タブを選択すると ユーザーが所有するプライベートキーの証明書が表示されます これが 個人証明書ストア です 表示されている証明書の一覧の中に取り込んだ Digital ID が存在する事を確認してください Windows 証明書マネージャ
4 2. WRC Designer を使用した帳票フォームの設定 電子子署名を行うには WRC Designer を使用して PDF を作成する帳票フォームに 電子署名の設定を行う必要があります 帳票フォームへの電子署名の設定手順は下記の通りです 1. WRC Designer を起動し 帳票フォームを作成します 2. [ ツール ] メニューから [PDF 設定 ] を選択し PDF 設定ダイアログを表示します 3. [VeriSign 不可視署名 ] タブをクリックし 電子署名設定タブを表示します 4. [VeriSign 不可視署名を設定する ] チェックボックスをオンし 詳細情報入力項目を表示します 5. 詳細情報を入力します ([ 名前 ] フィールドは必須項目なので必ず入力してください ) 6. PDF 設定ダイアログの [OK] ボタンをクリックし ダイアログを閉じます 以上で帳票フォーム電子署名の設定が完了です 尚 WRC Designer 上の PDF プレビュー機能では 電子署名は行われませんのでご注意ください
5 3. 電子署名の設定方法 作成した帳票フォームに電子署名の付加を行うには IDE のプロパティエディタまたはプログラム上で電子署名の設定を行う必要があります 電子署名の設定方法 1. IDE のプロパティから電子署名の設定方法帳票を作成するコンポーネント WRCComponent のプロパティ CertificateSigner に個人証明書の発行先を設定します 例 ) 個人証明書の発行先が 10art-ni Corporation の電子署名を設定する 2. プログラム上で電子署名の設定方法 WRCComponent のインスタンスから CertificateSigner を呼び出し 個人証明書の発行先を設定します 例 ) 個人証明書の発行先が 10art-ni Corporation の電子署名を設定して pdf を生成する wrc.certificatesigner = "10art-ni Corporation"; ( 略 ) wrc.createpdf();
6 電子署名付き PDF 作成プログラムサンプル 電子署名つきの PDF 作成プログラムのサンプルは下記の通りです 下記プログラムの詳細については WebReportCafe for.net プログラミングガイド の PDF の作成 表示 印刷のサンプル をご覧下さい private void btncreatereport_click(object sender, System.EventArgs e) { btncreatereport.enabled = false; btnshowpdf.enabled = false; btnprintpdf.enabled = false; resultlabel.visible = false; axpdf.hide(); try { wrc.dataset = productdataset; wrc.formfilepath = "..\\..\\..\\..\\form\\product_list.xml"; wrc.outputfilepath = ".\\product_list.pdf"; } wrc.certificatesigner = "10art-ni Corporation"; productdataset.product.clear(); dataadapter.fill(productdataset); wrc.createpdf(); //GUI 部品の状態を変える btnshowpdf.enabled = true; btnprintpdf.enabled = true; resultlabel.visible = true; } finally { btncreatereport.enabled = true; } 1 WRCComponent のインスタンス wrc のメソッド CertificateSigner を呼び出し 個人証明書の発行先を設定します 1
7 4. 注意点 Acrobat5.0 での署名検証 Acrobat6.0 及び Adobe Reader6.0 において 電子署名検証のハンドラが標準で搭載されるようになりました WRC 2005 では 新しいハンドラに対応したため Acrobat5.X での署名が検証できなくなりました 署名の検証には Acrobat6.0 をご使用ください メモリーリソース消費について WebReportCafe を使用して 電子署名なしの PDF を作成する場合は PDF データの一部が生成される度に 出力先へ出力する仕様になっていますが 電子署名付き PDF を生成する場合は 電子署名を行うために PDF 全体のデータからハッシュコードを作成必要があるため 生成される全体の PDF データをメモリ上に展開する仕様になっています よって 電子署名付き PDF を生成する場合は 電子署名なしの PDF を生成する場合よりもメモリを多く使用しますので 膨大なデータの PDF を生成する際は ご注意ください Adobe Reader6.0 での電子署名の検証について Adobe Reader6.0 で電子署名を検証する場合 設定が必要になります 詳しくは Adobe 社のサポートサイトの文書番号 : 223763 ベリサインの証明書で作成された電子署名の検証方法 (http://support.adobe.co.jp/faq/faq/qadoc.sv?223763+002) を参照してください DLL について 電子署名つきの PDF を作成する場合は 以下の DLL が必要になります WRCDigSig.dll PDF に VeriSign の不可視電子署名を付加するロジックが実装されています 上記 WRCDigSig.dll を WRCdNET.dll と同一ディレクトリに配置してください