Добрый день, заранее спасибо всем кто уделит время и внимание.
Потратил три дня но все еще не решил задачу.
Использую npm пакет crypto-pro
Импортирую методы
import { getUserCertificates, Certificate, getCertificate, exportBase64 } from 'crypto-pro';
Делаю первый шаг авторизации.
Выбор ключа работает и все ок.
После выбора вызываю функцию stepOne
async stepOne(cert){
this.certSt = cert.thumbprint ------------------------------------------------------------------------- получаю thumbprint сертификата что выбрал.
const certIn = await getCertificate(cert.thumbprint) --------------------------------------------------- Кладу сертификат в certIn
this.$sendMessageToLine(messages.DIADOC_CONNECT, {public_certificate: await (certIn.exportBase64())})--- Отправляю закодированный в Base64 свой публичный ключ
},
В ответ с сервера получаю
encrypted_string_base64: "MIIEJgYJKoZIhvcNAQcDoIIEFzCCBBMCAQAxggLaMIIC1gIBADCCAf8wggHoMRswGQYJKoZIhvcNAQkBFgxjYUBzZXJ0dW0ucnUxGDAWBgUqhQNkARINMTExNjY3MzAwODUzOTEaMBgGCCqFAwOBAwEBEgwwMDY2NzMyNDAzMjgxCzAJBgNVBAYTAlJVMTMwMQYDVQQIDCo2NiDQodCy0LXRgNC00LvQvtCy0YHQutCw0Y8g0L7QsdC70LDRgdGC0YwxITAfBgNVBAcMGNCV0LrQsNGC0LXRgNC40L3QsdGD0YDQszFSMFAGA1UECQxJ0YPQu9C40YbQsCDQo9C70YzRj9C90L7QstGB0LrQsNGPLCDQtC4gMTMsINC70LjRgtC10YAg0JAsINC+0YTQuNGBIDIwOSDQkTFsMGoGA1UECgxj0J7QsdGJ0LXRgdGC0LLQviDRgSDQvtCz0YDQsNC90LjRh9C10L3QvdC+0Lkg0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+0YHRgtGM0Y4gItCh0LXRgNGC0YPQvC3Qn9GA0L4iMWwwagYDVQQDDGPQntCx0YnQtdGB0YLQstC+INGBINC+0LPRgNCw0L3QuNGH0LXQvdC90L7QuSDQvtGC0LLQtdGC0YHRgtCy0LXQvdC90L7RgdGC0YzRjiAi0KHQtdGA0YLRg9C8LdCf0YDQviICEQMxj5AA2q1Wi0kJJzePc7tvMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICBIGsMIGpMCgEIOvrTsivSxJ96DYqDIDPy7yMmBANpgPL9+POc5qLWgxNBAQ9mC/4oH0GCSqFAwcBAgUBAaBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABEDSdGWL/30dMv0lKPbAAAfUYuPLTc9QJzIbsxycRhujQYcHbJo1fyAjlmKxn2u34l6jgQzKVQqb+4j2B9JUjR+EBAh27xaXlT3sgDCCAS4GCSqGSIb3DQEHATAdBgYqhQMCAhUwEwQIVJOwYjO58BcGByqFAwICHwGAggEA3mo03YkI8qjKo/eRhzU2ba7lFdKlkbI+M/5jJQ6Mh3cg6evHCzuYw1L/j1toVauP/1QNCciRgFKZDFMNzFVUUMuH0dhklWihgFdM1mK4iI7TwPhUmG8dBkXkR9H/tNV89OXwFa4efW8R/OajFaUUOiPDFaZ3gI6iYEWZNaiCBECkJpUpin5Cxi9z241QmBeAoEHHSbSRIvYWz1vZqKpdM/2RveYQUB2+SoGag1Z0Xv3yBcCPswCisiVU3mycmQp9UId8F+kB/sbbFkSnaVtKIxnq1Z0jz8A2zlaMiVz3lX+PfSAcctWi4A9Q7W+eXyDWYpL/IYsd1J1sxJ2ViDLedw=="
const encrypted_string_base64in = encrypted_string_base64
Теперь вызываю функцию stepTwo и нужно осуществить следующие:
async stepTwo(cert64){
1. расшифровать encrypted_string_base64in в байт
2. затем зашифровать приватным ключом результат пункта 1
3. затем результат пункта 2 закодировать в base64 и отправить на сервер.
}
Помогите пожалуйста с методами) убил весь 3 дня и особо нечего не получилось.
Смотрел сюда
https://docs.cryptopro.r...n-samples-enveloped-data не до конца понял как работает этот код.
На пример var oEnvelopedData = cadesplugin.CreateObject("CAdESCOM.CPEnvelopedData"); Как получить этот объект? cadesplugin? в npm пакете crypto-pro
Ну или есть у кого то пример этого дела? Буду очень благодарен.
Когда решу эту задачу напишу подробный туториал. Спасибо.