Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро ЭЦП (усовершенствованная ЭЦП)
»
Как можно серилизовать в JSON для последующей переди post-запросом закрытые и открытые ключи
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70   Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Решаю задачу: 1) Серилизовать в JSON для последующей переди post-запросом закрытые и открытые ключи Текущая реализация: 1) Список сертификатов получен через КриптоПро плагин Код:
function FillCertList_NPAPI() {
let certList = [];
let dateObj = new Date();
let count = 0;
let text;
let certCnt;
let oStore;
let cert;
try {
oStore = cadesplugin.CreateObject("CAdESCOM.Store");
//https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa388130(v=vs.85).aspx
oStore.Open();
} catch (ex) {
return "Ошибка при открытии хранилища: " + GetErrorMessage(ex);
}
try {
certCnt = oStore.Certificates.Count;
if (certCnt == 0) {
return certList;
}
} catch (ex) {
let message = GetErrorMessage(ex);
if ("Cannot find object or property. (0x80092004)" == message ||
"oStore.Certificates is undefined" == message ||
"Объект или свойство не найдено. (0x80092004)" == message) {
oStore.Close();
return message;
}
}
for (let i = 1; i <= certCnt; i++) {
try {
cert = oStore.Certificates.Item(i);
} catch (ex) {
return "Ошибка при перечислении сертификатов: " + GetErrorMessage(ex);
}
try {
if (dateObj < cert.ValidToDate && cert.HasPrivateKey() && cert.IsValid().Result) {
let issuedBy = cert.GetInfo(1);
issuedBy = issuedBy || "";
let certObj = new CertificateObj(cert);
text = certObj.GetCertString();
//let oSigner = cadesplugin.CreateObject("CAdESCOM.CPSigner");
//oSigner.Certificate = cert;
let certBinary = cert.Export(CADESCOM_ENCODE_BASE64);
certList.push({
'value': text.replace(/^cn=([^;]+);.+/i, '$1'),
'text': text.replace("CN=", "") + " " + issuedBy,
'subject': certObj.GetCertName(),
'issuer': certObj.GetIssuer(),
'from': certObj.GetCertFromDate(),
'till': certObj.GetCertTillDate(),
'algorithm': certObj.GetPubKeyAlgorithm(),
'provname': certObj.GetPrivateKeyProviderName(),
'thumbprint': cert.Thumbprint,
'privateKey': cert.PrivateKey,
'signature': certBinary
});
count++;
} else { continue; }
} catch (ex) {
return "Ошибка при получении свойства SubjectName: " + GetErrorMessage(ex);
}
}
oStore.Close();
return certList;
}
Далее планируется выбор сертификата и отправка через Angular 2 серилизованной JSON строкой на наш внутренний локальный api Вопросы: Прошу помочь корректно получить параметры PrivateKey и PublicKeyЗараннее спасибо.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70   Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Я смогу долждаться ответа на заданный вопрос?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Плагин не даст вам закрытый ключ для сериализации. Такая операция не является безопасной для пользователя и она запрещена. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70   Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Автор: cross  Плагин не даст вам закрытый ключ для сериализации. Такая операция не является безопасной для пользователя и она запрещена. Благодарю за ответ.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70   Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Автор: cross  Плагин не даст вам закрытый ключ для сериализации. Такая операция не является безопасной для пользователя и она запрещена. По открытому ключу можно описание набора данных?
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро ЭЦП (усовершенствованная ЭЦП)
»
Как можно серилизовать в JSON для последующей переди post-запросом закрытые и открытые ключи
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close