# QRリンクを利用したモバイル署名

## 利点 <a href="#benefits" id="benefits"></a>

* 署名者が自分のデバイスを利用するため、身分証明を強化します。
* 別途の署名用モバイルアプリが必要ありません。
* QRコードリンクで動作します。
* タイムリミットでセキュリティーを確保します。

## How it works <a href="#how-it-works" id="how-it-works"></a>

1. 👉 [Sample registration form](http://oz.ozeform.io/oz/guide/qrsign/open-form.html)​ を開いてください。
2. 署名項目をクリックします。 The Create Signatureダイアログが表示されます。
3. WEBタブの基本サインパッドでは、直接署名することが可能です。
4. モバイルデバイスで署名をする場合には、MOBILEタブに移動します。
5. QRコードをスキャンし、リンクを開きます。
6. 署名した後、OKで提出します。
7. 署名ダイアログにユーザーが作成した署名が表示されます。
8. OKをクリックします。

## インストール <a href="#installation" id="installation"></a>

### ダウンロード <a href="#download" id="download"></a>

{% file src="/files/-MQLjKdckcgm2rwD80F0" %}
qrsign.zip
{% endfile %}

{% file src="/files/-MQLjPAhROmg1bhKmP3B" %}
lib.zip
{% endfile %}

下記のようにファイルが含まれています。

| ファイル                      | 説明                                                  |
| ------------------------- | --------------------------------------------------- |
| ajax.js                   | jQuery AJAXメソードの定義                                  |
| open-form.html            | e-formサンプルを開き、Signatureダイアログを表示し署名を取得します。           |
| ozviewer.init.js          | ビューアオプションを設定し、ビューア実行します。                            |
| modal.viewer.js           | SignatureダイアログのUIを制御します。                            |
| form.sign.receiver.js     | QRSignServletから署名データを取得し、modal.controller.jsに伝送します。 |
| modal.controller.js       | 署名コンポーネントに署名値を入力します。                                |
| mobile-sign.html          | サインパッドのためのモバイルページです。                                |
| mobile.sign.controller.js | QRSignServletに署名値を伝送します。                            |
| qrcode.min.js             | canvasタグにQRコードを生成するためのライブラリです。                      |
| OZSignLib.js              | canvasタグに署名を表示するためのライブラリです。                         |
| report-page.html          | OZレポートの宣言ページです。CSS設定間の矛盾を防ぐために存在します。                |
| qrsign.jar                | QRSignServletを実装します。                                |
| json-simple-1.1.1.jar     | The library used in qrsign.jar for JSON parse.      |

### QRSignServlet定義の追加 <a href="#adding-qrsignservlet-definition" id="adding-qrsignservlet-definition"></a>

web.xmlに下記のようにQRSignServlet定義を追加します。

```markup
<servlet>		
    <servlet-name>QRSignServlet</servlet-name>
    <servlet-class>QRSignServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>QRSignServlet</servlet-name>
    <url-pattern>/guide/qrsign/sign/*</url-pattern>
</servlet-mapping>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jp.ozeform.io/guide/qr-link-mobile-signature.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
