{"_id":"@3asoft/web-crypto-js","_rev":"2-37ba03ef3bd6abd24111a6d7049015aa","name":"@3asoft/web-crypto-js","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@3asoft/web-crypto-js","version":"1.0.0","main":"ts.crypto.min.js","author":{"name":"Triasoft Inc."},"license":"ISC","description":"* Модуль экспортирует глобальную переменную tscrypto\r * Интерфейс\r ```\r {\r         supported: true, \r         plugin: {\r             getInfo: информация о плагине\r         },\r         browserInfo: инфорация о браузере,\r         certificate: {\r            ","_id":"@3asoft/web-crypto-js@1.0.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1lt3D66haJA0krpJiW51ze+KeNewP3aunB/ripcZPeOS4A4fe9tU5Xv5ekrLW4zDM4sSuXTvMVCnHNm6aS61kQ==","shasum":"d49820e7d9e3f32d5ad3107417a8ac4b143f54a8","tarball":"https://registry.npmjs.org/@3asoft/web-crypto-js/-/web-crypto-js-1.0.0.tgz","fileCount":3,"unpackedSize":66105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhugQtCRA9TVsSAnZWagAAleIP/0+gGq+TpJVPEuqmROB6\n0JNnpWZ/56lQxT6opi2BKV0fQi5K7BzqfDnNzKsi5BOESBhv0wBRJsxbpp9n\nzKaoO9WsbupWNT91INSaD0Iy+QoTvWHRK9u5LtzhRAqz8B3oxl6uUwO+R5fU\nbJ5bf7YwacdRmiBvzrd1LFNKTCMxY+3jv0VyUw2ekLU4wb+qu8k3wvZAJnf/\nm9SYzMSNpZ9s4faNFA8WfN9FTxmFzpXYu6LHH6HaXl+yZ7QLeCMFkG/Xwv4s\nrOEjcBLPHQLYTYAZiIXV2BwkYs81FnYerncqqBgcN5GwMAGxdZl+Dc7FwyQz\nLEtF/Fmdbzh4w6REWpqJZHcxcZmuJDA6CEDaeEzvtkTw+fA1Mtv1ZR5+Guhv\n7STJ3oMfI3Qbm+IrWzV5THbNDasmoJhbsfqHLLwoNAqMLh3qHNdCKiFquZ7m\nv5SaIeYiMjSdJfW4BJDgHvM9DA83BmcO4kzttmeolX2NdeMDs+B6/ZQGw9+6\nrr+k926w5KL0/wCljzl2ghR49q/PUCHO1hH1RfF+rerAO7Z98FWW53C2VYkZ\n3YwNAuSrTIXYOL+tXtXOZAylnVAIqyXxLi5s1/wyOM1/OOG+1yh2OGUY/KC/\n/w+VjQCLgjit6wGVdSXys/1lQCFw05+RZUdRvDsXtmJvgS1NdBF2eEIBoS2k\nrmYi\r\n=KXLo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfMDE0zWWeb1tV2iUf/SYyjzvY8UHgF3xHp/bfORlW2wIgJt+d2m0l2pcwVN0AsYLA1TkRdj3aSZZ21GRs0C9n3xc="}]},"_npmUser":{"name":"ozzy-ext","email":"ozzy.ext@gmail.com"},"directories":{},"maintainers":[{"name":"ozzy-ext","email":"ozzy.ext@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-crypto-js_1.0.0_1633613176071_0.02111767995243885"},"_hasShrinkwrap":false}},"time":{"created":"2021-10-07T13:26:16.024Z","1.0.0":"2021-10-07T13:26:16.258Z","modified":"2022-04-04T10:44:28.343Z"},"maintainers":[{"name":"ozzy-ext","email":"ozzy.ext@gmail.com"}],"description":"* Модуль экспортирует глобальную переменную tscrypto\r * Интерфейс\r ```\r {\r         supported: true, \r         plugin: {\r             getInfo: информация о плагине\r         },\r         browserInfo: инфорация о браузере,\r         certificate: {\r            ","author":{"name":"Triasoft Inc."},"license":"ISC","readme":"#### Обертка для работы с КриптоПро браузер Плагин\r\n\r\n* Модуль экспортирует глобальную переменную tscrypto\r\n* Интерфейс\r\n```\r\n{\r\n        supported: true, \r\n        plugin: {\r\n            getInfo: информация о плагине\r\n        },\r\n        browserInfo: инфорация о браузере,\r\n        certificate: {\r\n            all: все сертифкаты,\r\n            gost: только ГОСТовые,\r\n            notaryLike: получение сертифкатов по идентификаторам нотариусов (или ВРИО),\r\n            getByHash: поиск по хешу,\r\n            getBySn: поиск по серийному номеру,\r\n            parserDN : разбор \"Distinguished name\" сертифката \r\n        },\r\n        signData: подписать данные,\r\n        signHash: подписать по хешу,\r\n        calcHash: получить хеш,\r\n        decryptData: асим. расшифровать данные,\r\n        encryptData: асим. зашифровать на сертификате,\r\n        symmetricAlgorithm: получить объект SymmetricAlgorithm\r\n}\r\n```\r\n#### Сертификат\r\n\r\n    x509Certificate - сертификат, как объект КриптоПро;\r\n    subjectName - субъект;\r\n    sn          - серийный номер сертифката\r\n    thumbprint  - отпечаток сертифката\r\n    issuerName  - издатель\r\n    validFromDate - время действия с\r\n    validToDate   - время действия по\r\n    hasPrivateKey - наличие приватного ключа\r\n    isValid       - признак валидности\r\n    isGost        - ГОСТовый сертифкат\r\n\r\n#### Разбор \"Distinguished name\" сертификата\r\n\r\n    метод tscrypto.certificates.parserDN(cert.subjectName)\r\n    возвращает объект\r\n    {\r\n        full: string , // имя без изменений\r\n        commonName: string, // CN \r\n        email:string, \r\n        position:string, // должность\r\n        inn:string, // ИНН\r\n        snils:string, // СНИЛС\r\n        organizationName:string, // Наименование организации\r\n        fio:string, // ФИО владельца\r\n    }\r\n\r\n\r\n#### SymmetricAlgorithm (обертка на ISymmetricAlgorithm)\r\n SymmetricAlgorithm -  повторят методы ISymmetricAlgorithm, результат передается через Promise\r\n\r\n\r\n#### Примеры\r\n\r\n##### Получение списка сертификатов\r\n```javascript\r\n    tscrypto.certificates.all().then(function(certs){\r\n        console.log(certs);\r\n    }, function(error){\r\n        console.error(error);\r\n    })\r\n```\r\n\r\n##### Получение списка сертификатов для нотариуса\r\n```javascript\r\n    // tscrypto.certificates.notaryLike(ids, onlyValid)\r\n    tscrypto.certificates.notaryLike([\"94200005\", \"942A0007\"], false).then(function(certs){\r\n        console.log(certs);\r\n    }, function(error){\r\n        console.error(error);\r\n    })\r\n```\r\n\r\n##### Создание открепленной подписи\r\n```javascript\r\n    var sn='123456789';\r\n\r\n    tscrypto.certificates.getBySn()\r\n    .then(function(cert){\r\n        if(cert){\r\n            return tscrypto.signData(cert, base64Data);\r\n        }else{\r\n            throw new Error('Сертификат не найден');\r\n        }\r\n    })\r\n    .then(function(signature){\r\n        console.log(signature);\r\n    })\r\n    .catch(function(error){\r\n        console.error(error);\r\n    })\r\n```\r\n##### Создание наложенной подписи\r\n```javascript\r\n    var sn='123456789';\r\n\r\n    tscrypto.certificates.getBySn(sn)\r\n    .then(function(cert){\r\n        if(cert){\r\n            //  signData(cert, data, pinCode, attached) \r\n            return tscrypto.signData(cert, base64Data, null, true);\r\n        }else{\r\n            throw new Error('Сертификат не найден');\r\n        }\r\n    })\r\n    .then(function(signature){\r\n        console.log(signature);\r\n    })\r\n    .catch(function(error){\r\n        console.error(error);\r\n    })\r\n```\r\n\r\n##### Шифрование на сертификате\r\n```javascript\r\n    var sn='123456789';\r\n\r\n    tscrypto.certificates.getBySn(sn)\r\n    .then(function(cert){\r\n        if(cert){\r\n            return tscrypto.encryptData(base64Data, cert);\r\n        }else{\r\n            throw new Error('Сертифкат не найден');\r\n        }\r\n    })\r\n    .then(function(signature){\r\n        console.log(signature);\r\n    })\r\n    .catch(function(error){\r\n        console.error(error);\r\n    })\r\n```","readmeFilename":"readme.md"}