Актуализировал пример использования через тэг script

This commit is contained in:
vgoma 2020-08-27 21:48:20 +03:00
parent 242794d3bf
commit b2ca997be6
2 changed files with 26 additions and 30 deletions

View File

@ -18,16 +18,16 @@
$createSignature.addEventListener('submit', function (event) { $createSignature.addEventListener('submit', function (event) {
var thumbprint = $certificate.value, var thumbprint = $certificate.value,
message = $message.value, message = $message.value;
hashingAlgorithm = document.querySelector('input[name="hashingAlgorithm"]:checked').value;
event.preventDefault(); event.preventDefault();
$hash.placeholder = 'Вычисляется...'; $hash.placeholder = 'Вычисляется...';
$hash.value = ''; $hash.value = '';
window.cryptoPro.createHash(message, hashingAlgorithm).then(function (hash) { window.cryptoPro.createHash(message).then(function (hash) {
var detachedSignature = document.querySelector('input[name="signatureType"]:checked').value; var detachedSignature = document.querySelector('input[name="signatureType"]:checked').value,
signaturePromise;
detachedSignature = Boolean(Number(detachedSignature)); detachedSignature = Boolean(Number(detachedSignature));
@ -36,7 +36,13 @@
$signature.placeholder = 'Создается...'; $signature.placeholder = 'Создается...';
$signature.value = ''; $signature.value = '';
window.cryptoPro.createSignature(thumbprint, hash, detachedSignature).then(function (signature) { if (detachedSignature) {
signaturePromise = window.cryptoPro.createDetachedSignature(thumbprint, hash);
} else {
signaturePromise = window.cryptoPro.createAttachedSignature(thumbprint, message);
}
signaturePromise.then(function (signature) {
$signature.value = signature; $signature.value = signature;
}, function (error) { }, function (error) {
$signature.placeholder = 'Не создана'; $signature.placeholder = 'Не создана';

View File

@ -8,9 +8,9 @@
<form name="createSignature" novalidate> <form name="createSignature" novalidate>
<fieldset> <fieldset>
<legend>Создание подписи</legend> <legend>Создание подписи</legend>
<label for="message">Данные для подиси: *</label> <label for="message">Подписываемое сообщение: *</label>
<br> <br>
<textarea id="message" cols="130" rows="5" placeholder="Введите сообщение" autofocus required>abc</textarea> <textarea id="message" cols="80" rows="5" placeholder="Введите сообщение" autofocus required>Привет мир!</textarea>
<br><br> <br><br>
<label for="certificate">Сертификат: *</label> <label for="certificate">Сертификат: *</label>
@ -26,19 +26,9 @@
<label>Тип подписи: *</label> <label>Тип подписи: *</label>
<br> <br>
<label><input type="radio" name="signatureType" value="0" checked>Совмещенная</label> <label><input type="radio" name="signatureType" value="0">Совмещенная</label>
<br> <br>
<label><input type="radio" name="signatureType" value="1">Отделенная</label> <label><input type="radio" name="signatureType" value="1" checked>Отделенная</label>
<br><br>
<label>Алгоритм хэширования: *</label>
<br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411">ГОСТ Р 34.11-94</label><br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411_2012_256">ГОСТ Р 34.11-2012 (256)</label><br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411_2012_512" checked>ГОСТ Р 34.11-2012 (512)</label><br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411_HMAC">ГОСТ Р 34.11-94 (HMAC)</label><br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411_2012_256_HMAC">ГОСТ Р 34.11-2012 (HMAC 256)</label><br>
<label><input type="radio" name="hashingAlgorithm" value="GOST_3411_2012_512_HMAC">ГОСТ Р 34.11-2012 (HMAC 512)</label>
<br><br> <br><br>
<hr> <hr>
@ -48,24 +38,24 @@
<fieldset> <fieldset>
<legend>Результат</legend> <legend>Результат</legend>
<label for="hash">Хэш:</label><br> <label for="hash">Хэш (ГОСТ Р 34.11-2012 256 бит):</label><br>
<textarea id="hash" cols="130" rows="5" placeholder="Не вычислен"></textarea> <textarea id="hash" cols="80" rows="5" placeholder="Не вычислен"></textarea>
<br> <br>
<pre id="hashError"></pre> <pre id="hashError"></pre>
<label for="signature">Подпись:</label><br> <label for="signature">Подпись:</label><br>
<textarea id="signature" cols="130" rows="30" placeholder="Не создана"></textarea> <textarea id="signature" cols="80" rows="30" placeholder="Не создана"></textarea>
<p> <p>
Для проверки нужно создать файл со сгенерированной подписью в кодировке UTF-8 с расширением *.sig Для
<a href="https://www.gosuslugi.ru/pgu/eds/"
target="_blank"
rel="nofollow noopener noreferrer"
title="Перейти к проверке подписи">проверки</a>
нужно создать файл со сгенерированной подписью в кодировке UTF-8 с расширением *.sgn
<br> <br>
для совмещенной подписи (или *.sgn для отделенной). для отделенной подписи (или *.sig для совмещенной).
</p> </p>
<a href="https://www.gosuslugi.ru/pgu/eds/"
target="_blank"
rel="nofollow noopener noreferrer"
title="Перейти к проверке подписи">
Проверить подпись
</a>
<pre id="signatureError"></pre> <pre id="signatureError"></pre>
</fieldset> </fieldset>