Skip to content

Commit

Permalink
jacarta2 docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Aleksandr-ru committed Sep 4, 2018
1 parent dae19e9 commit 82b86d4
Show file tree
Hide file tree
Showing 4 changed files with 255 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/css/common.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ body {
font-family: 'Montserrat', sans-serif;
}
.column {
margin-top: 25%;
margin-top: 20%;
}
.container > h1 {
margin-top: 5%;
Expand Down
3 changes: 3 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ <h1>RusCryptoJS</h1>
<p>
<a href="http://aleksandr.ru">aleksandr.ru</a>
</p>
<p>
<a class="button button-primary" href="https://github.com/Aleksandr-ru/RusCryptoJS">Скачать с GitHub</a>
</p>
</div>
<div class="one-half column">
<a class="button" href="cryptopro.html">Крипто-ПРО</a>
Expand Down
251 changes: 250 additions & 1 deletion docs/jacarta2.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,256 @@ <h1>

<div class="container">
<h2>Function reference</h2>
<p>TODO! см. комментарии в коде</p>
<ul>
<li><a href="#init">init</a></li>
<li><a href="#bind">bind</a></li>
<li><a href="#unbind">unbind</a></li>
<li><a href="#clean">clean</a></li>
<li><a href="#generateCSR">generateCSR</a></li>
<li><a href="#writeCertificate">writeCertificate</a></li>
<li><a href="#certificateInfo">certificateInfo</a></li>
<li><a href="#listCertificates">listCertificates</a></li>
<li><a href="#readCertificate">readCertificate</a></li>
<li><a href="#signData">signData</a></li>
</ul>

<h5 id="init">
<span class="function">init</span> () :
<span class="type">Promise&lt;Object&gt;</span>
</h5>
<p>Инициализация и проверка наличия требуемых возможностей. Должна быть вызвана первой до всех прочих вызовов.</p>
<p>
<b class="returns">Возвращает</b> объект с полями:
<pre><code>{
version: 'версия плагина',
serialNumber: 'серийный номер токена',
flags: 'установленные флаги на токене',
label: 'метка токена',
type: 'тип токена'
}</code></pre>
</p>

<h5 id="bind">
<span class="function">bind</span> (
<span class="optional">[ userPin : <span class="type">String</span> ]</span>
) :
<span class="type">Promise&lt;Void&gt;</span>
</h5>
<p>Авторизация на токене с пин-кодом пользователя.</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>userPin</td>
<td>
Пин-код пользователя, если отсутствует, будет запрошен через UI плагина.
</td>
</tr>
</tbody>
</table>

<h5 id="unbind">
<span class="function">unbind</span> () :
<span class="type">Promise&lt;Void&gt;</span>
</h5>
<p>Отменить предъявление пин-кода. Необходимо вызывать при завершении сеанса работы.</p>

<h5 id="clean">
<span class="function">clean</span> () :
<span class="type">Promise&lt;Number&gt;</span>
</h5>
<p>Очистка токена (удаление всех контейнеров).</p>
<p>
<b class="returns">Возвращает</b> количество удаленных контейнеров.
</p>

<h5 id="generateCSR">
<span class="function">generateCSR</span>
(
dn : <span class="type">DN</span>,
description : <span class="type">String</span>
<span class="optional">
[, ekuOids : <span class="type">Array</span>
[, algorithm : <span class="type">String</span> ]]
</span>
) : <span class="type">Promise&lt;Object&gt;</span>
</h5>
<p>Создание запроса на сертификат.</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>dn</td>
<td>Объект DN с полями запроса на сертификат (см. пример в коде).</td>
</tr>
<tr>
<td>description</td>
<td>Описание ключевой пары.</td>
</tr>
<tr>
<td>ekuOids</td>
<td>
Массив расширений использования ключа, по умолчанию:
<pre><code>'1.3.6.1.5.5.7.3.2', // Аутентификация клиента
'1.3.6.1.5.5.7.3.4' // Защищенная электронная почта</code></pre>
</td>
</tr>
<tr>
<td>algorithm</td>
<td>Алгоритм <code>GOST-2012-256</code> (по-умолчанию) или <code>GOST-2001</code>.</td>
</tr>
</tbody>
</table>
<p>
<b class="returns">Возвращает</b> объект с полями
<pre><code>{
csr: 'base64 запрос на сертификат',
keyPairId: 'идентификатор созданной ключевой пары'
}</code></pre>
</p>

<h5 id="writeCertificate">
<span class="function">writeCertificate</span>
(
certificate : <span class="type">String</span>,
keyPairId : <span class="type">Number</span>,
) : <span class="type">Promise&lt;Number&gt;</span>
</h5>
<p>Запись сертификата (полученного от УЦ) в контейнер.</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>certificate</td>
<td>Сертификат, закодированный в base64.</td>
</tr>
<tr>
<td>keyPairId</td>
<td>Иидентификатор ключевой пары.</td>
</tr>
</tbody>
</table>
<p>
<b class="returns">Возвращает</b> идентификатор образованного контейнера.
</p>

<h5 id="certificateInfo">
<span class="function">certificateInfo</span>
(
containerId : <span class="type">Number</span>
) : <span class="type">Promise&lt;Object&gt;</span>
</h5>
<p>Получение информации о сертификате в контейнере.</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>containerId</td>
<td>Идентификатор контейнера (сертификата).</td>
</tr>
</tbody>
</table>
<p>
<b class="returns">Возвращает</b> объект с полями и строковым представлением:
<pre><code>'Название: ' + this.Name +
'Издатель: ' + this.IssuerName +
'Субъект: ' + this.SubjectName +
'Версия: ' + this.Version +
'Серийный №: ' + this.SerialNumber +
'Отпечаток SHA1: ' + this.Thumbprint +
'Не дествителен до: ' + this.ValidFromDate +
'Не действителен после: ' + this.ValidToDate +
'Приватный ключ: ' + (this.HasPrivateKey ? 'Есть' : 'Нет') +
'Валидный: ' + (this.IsValid ? 'Да' : 'Нет')</code></pre>
</p>

<h5 id="listCertificates">
<span class="function">listCertificates</span> () :
<span class="type">Promise&lt;Array&gt;</span>
</h5>
<p>Получение списка доступных сертификатов.</p>
<p>
<b class="returns">Возвращает</b> массив объектов с полями:
<pre><code>[{
id: 'идентификатор контейнера',
name: 'subject или описание контейнера'
}, ...]</code></pre>
</p>

<h5 id="readCertificate">
<span class="function">readCertificate</span>
(
containerId : <span class="type">Number</span>
) : <span class="type">Promise&lt;String&gt;</span>
</h5>
<p>Чтение (экспорт) сертификата.</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>containerId</td>
<td>Идентификатор контейнера сертификата.</td>
</tr>
</tbody>
</table>
<p>
<b class="returns">Возвращает</b> base64 закодированное тело сертификата.
</p>

<h5 id="signData">
<span class="function">signData</span>
(
dataBase64 : <span class="type">String</span>,
containerId : <span class="type">String</span>
) : <span class="type">Promise&lt;String&gt;</span>
</h5>
<p>Подпись данных (отсоединенная).</p>
<table class="u-full-width">
<thead>
<tr>
<th>Параметр</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td>dataBase64</td>
<td>Данные для подписи.</td>
</tr>
<tr>
<td>containerId</td>
<td>Идентификатор контейнера.</td>
</tr>
</tbody>
</table>
<p>
<b class="returns">Возвращает</b> base64 закодированную подпись.
</p>

<h2>Выпуск сертификата</h2>
<form id="formCert">
Expand Down
2 changes: 1 addition & 1 deletion src/JaCarta2/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ function JaCarta2() {
/**
* Записать сертификат в контейнер
* @param {string} certificate base64(массив байт со значением сертификата в формате DER)
* @param {int} идентификатор контейнера куда записывать
* @param {int} keyPairId идентификатор контейнера куда записывать
* @returns {Promise<number>} идентификатор образованного контейнера.
*/
this.writeCertificate = function(certificate, keyPairId) {
Expand Down

0 comments on commit 82b86d4

Please sign in to comment.