Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add hash and encrypt/decrypt methods #30

Open
wants to merge 30 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b6021bb
ADD experimental methods to create and verify hash signatures
Sep 11, 2020
0014049
ADD some tests
Sep 11, 2020
87882d1
ADD encrypt/decrypt enveloped data with Enveloped CMS
Sep 15, 2020
acc5601
ADD getEnvelopedData method; tests for new methods; some parameter de…
Sep 16, 2020
1d0bed4
ADD some basic readme info and links to new calls
Sep 17, 2020
126b32d
ADD skipCheck parameter for getUserCertificates
Oct 14, 2020
c05c045
FIX skipCheck
Oct 14, 2020
cbd1bb0
ADD hasPrivateKey public field to Certificate class
Oct 14, 2020
fe5addb
FIX certificate tests ADD getHashedData default algorithm parameter
Oct 15, 2020
88acf73
FIX some descriptions, error messages ADD HasPrivateKey method to _g…
Oct 15, 2020
a39e1b0
FIX misspel of CADESCOM_CADES_BES in verifyHashSignature; removed som…
Oct 15, 2020
c930c52
FIX import in verifyHashSignature
Oct 15, 2020
5a5bb1e
FIX pending oHahsedData value issue
Oct 15, 2020
7b4e912
FIX pending oHahsedData value issue
Oct 15, 2020
3110057
FIX verifyHashSignature return value
Nov 5, 2020
801cbe3
FIX async method to verifySignature
Nov 5, 2020
6dd8682
FIX remove async from sync operation VerifyHash
Nov 5, 2020
4191aa5
FIX verify hash signature
Nov 5, 2020
f21e40e
Merge branch 'master' into feature/hash-methods
norguhtar Nov 8, 2020
4ceb2cd
Merge pull request #1 from vgoma/master
norguhtar Nov 11, 2020
0219cd1
Update dist and lib
Nov 11, 2020
9033640
Remove option from coSignatur
Nov 27, 2020
a269e17
Revert change in createCoSignature
Dec 1, 2020
a6cc8f7
Add container store
Jan 15, 2021
4493026
Revert container store
Jan 15, 2021
3d7e9ad
Add open CAPICOM_LOCAL_MACHINE_STORE
Aug 2, 2021
54c63c1
Try fix all storages
Aug 2, 2021
9ebd28e
Add read AddressBook
Aug 3, 2021
9b9e8f3
Change to Addressbook
Aug 3, 2021
9bb85cf
Addd
Aug 3, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ insert_final_newline = true
[*.{js, ts}]
charset = utf-8
indent_style = space
indent_size = 2
indent_size = 2
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
node_modules/
package/
coverage/
tags
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,13 @@ import { getUserCertificates, Certificate } from 'crypto-pro';
Используйте "createAttachedSignature" и "createDetachedSignature".
- [getSystemInfo](src/api/getSystemInfo.ts) - возвращает информацию о CSP и плагине
- [isValidSystemSetup](src/api/isValidSystemSetup.ts) - возвращает флаг корректности настроек ЭП на машине
- [createHashSignature](src/api/createHashSignature.ts) - создаёт отделённую подпись хэш-значения данных
- [createCoSignature](src/api/createCoSignature.ts) - создаёт цифровую подпись ранее подписанных данных
- [verifyHashSignature](src/api/verifyHashSignature.ts) - верификация подписанного хэш-значения
- [encryptEnvelopedData](src/api/encryptEnvelopedData.ts) - шифрование сообщения при помощи списка сертификатов
- [decryptEnvelopedData](src/api/decryptEnvelopedData.ts) - расшифровка сообщения с автоматическим подбором нужного сертификата
- [getHashedData](src/api/getHashedData.ts) - получить объект HashedData для последующего хэширования данных с указанным алгоримом
- [getEnvelopedData](src/api/getEnvelopedData.ts) - получить объект CPEnvelopedData для последующего шифрования данных

<a name="api-certificate"></a>
### Методы объекта сертификата
Expand Down
3 changes: 2 additions & 1 deletion dist/api/certificate/certificate.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export declare class Certificate {
thumbprint: string;
validFrom: string;
validTo: string;
constructor(_cadesCertificate: CadesCertificate, name: string, issuerName: string, subjectName: string, thumbprint: string, validFrom: string, validTo: string);
hasPrivateKey: boolean;
constructor(_cadesCertificate: CadesCertificate, name: string, issuerName: string, subjectName: string, thumbprint: string, validFrom: string, validTo: string, hasPrivateKey: boolean);
getOwnerInfo(): Promise<TagTranslation[]>;
getIssuerInfo(): Promise<TagTranslation[]>;
getExtendedKeyUsage(): Promise<string[]>;
Expand Down
10 changes: 10 additions & 0 deletions dist/api/createCoSignature.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Certificate } from './certificate';
/**
* Добавляет подписанта к уже существующим для данного подписанного сообщения
*
* @param oCertificate - объект класса Certificate, которым необходимо подписать сообщение
* @param oHashedData - объект oHashedData с установленным алгоритмом шифрования
* @param sSignedMessage - сообщение к которому необходимо добавить подписанта
* @returns строку с подписанным сообщением
*/
export declare const createCoSignature: (oCertificate: Certificate, oHashedData: any, sSignedMessage: string) => Promise<string>;
9 changes: 9 additions & 0 deletions dist/api/createHashSignature.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Certificate } from './certificate';
/**
* Создаёт подпись для хешированного сообщения
*
* @param oCertificate - объект класса Certificate для подписания сообщения
* @param oHashedData - объект класса oHashedData содержащий в себе захэшированное сообщение
* @returns строку с подписанным хэшем
*/
export declare const createHashSignature: (oCertificate: Certificate, oHashedData: any) => Promise<string>;
7 changes: 7 additions & 0 deletions dist/api/decryptEnvelopedData.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* Расшифровывает сообщение полученное вызовом метода encryptEnvelopedData
*
* @param sSignedData - строка с зашифрованным сообщением
* @returns строку исходного сообщения
*/
export declare const decryptEvelopedData: (sSignedData: string) => Promise<string>;
8 changes: 8 additions & 0 deletions dist/api/encryptEnvelopedData.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Certificate } from './certificate';
/**
* Создаёт зашифрованное сообщение из base64 строки по списку сертификатов
* @param oCertificateList - массив объектов Certificate для добавления в список реципиентов сообщения
* @param dataBase64 - строковые данные в формате base64
* @returns строку с зашифрованным сообщением
*/
export declare const encryptEnvelopedData: (oCertificateList: Certificate[], dataBase64: string) => Promise<string>;
5 changes: 5 additions & 0 deletions dist/api/getEnvelopedData.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**
* Создаёт объект CAdESCOM.CPEnvelopedData
* @returns объект CAdESCOM.CPEnvelopedData
*/
export declare const getEnvelopedData: () => Promise<any>;
7 changes: 7 additions & 0 deletions dist/api/getHashedData.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* Создаёт объект oHashedData с заданным алгоритмом шифрования
*
* @param hashAlg = 101 - код алгоритма хеширования из списка констант(/src/constants/cades-constants.ts)
* @returns объект oHashedData
*/
export declare const getHashedData: (hashAlg?: number) => Promise<any>;
3 changes: 2 additions & 1 deletion dist/api/getUserCertificates.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Certificate } from './certificate';
* Возвращает список сертификатов, доступных пользователю в системе
*
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
* @param skipCheck = false - позволяет пропустить проверку наличия закрытых ключей
* @returns список сертификатов
*/
export declare const getUserCertificates: (resetCache?: boolean) => Promise<Certificate[]>;
export declare const getUserCertificates: (resetCache?: boolean, skipCheck?: boolean) => Promise<Certificate[]>;
7 changes: 7 additions & 0 deletions dist/api/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ export * from './getUserCertificates';
export * from './getSystemInfo';
export * from './isValidSystemSetup';
export * from './createSignature';
export * from './getHashedData';
export * from './createHashSignature';
export * from './createCoSignature';
export * from './verifyHashSignature';
export * from './getEnvelopedData';
export * from './encryptEnvelopedData';
export * from './decryptEnvelopedData';
export * from './createDetachedSignature';
export * from './createAttachedSignature';
export * from './createHash';
Expand Down
8 changes: 8 additions & 0 deletions dist/api/verifyHashSignature.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**
* Валидация подписи хэшированного сообщения
*
* @param oHashedData - объект oHashedData с установленным значением Value и Algorithm
* @param sSignedMessage - подписанное сообщение для валидации
* @returns true или ошибку
*/
export declare const verifyHashSignature: (oHashedData: any, sSignedMessage: string) => Promise<boolean>;
Loading