Невозможно извлечь открытый ключ из объекта ASN.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно извлечь открытый ключ из объекта ASN.

Сообщение Anonymous »

Итак, я пытаюсь проанализировать файл формата der, чтобы извлечь открытый ключ. У меня есть три алгоритма: RSA, EDDSA и ECDSA. Приведенный ниже код работает для RSA, но не для EDDSA и ECDSA. Я получаю следующую ошибку:

Ошибка: невозможно прочитать открытый ключ. Неизвестный OID. at
push../node_modules/node-forge/lib/rsa.js.pki.publicKeyFromAsn1

Ниже приведена функция, которую я написал который анализирует der для извлечения открытого ключа. Я думаю, что это общий вариант, но не знаю, почему он не работает для ecdsa и eddsa.
const uploadDer = (file: any): boolean => {
const fileReader = new FileReader();

fileReader.onload = () => {
const arrayBuffer = fileReader.result as ArrayBuffer;

try {
const uint8Array = new Uint8Array(arrayBuffer);
const byteBuffer = forge.util.createBuffer(uint8Array);
const asnObject = forge.asn1.fromDer(byteBuffer);
const publicKeyObject = forge.pki.publicKeyFromAsn1(asnObject);
const fileContent = forge.pki.publicKeyToPem(publicKeyObject);
console.log('fileContent--> ', fileContent);

const pemSections = forge.pem.decode(fileContent);
const lastPemSection = pemSections[pemSections.length - 1];
const publicKey = forge.util.encode64(lastPemSection.body);
props.change('publicKey', publicKey);
} catch (error) {
props.change('publicKey', '');

return dispatch(
showNotification({
id: uuidv1(),
title: 'statusTitle',
message: 'uploadKeypairFailedMessage',
type: NotificationTypes.error,
})
);
}
};

fileReader.onerror = (error) => {
console.error('onerror', error);
};

fileReader.readAsArrayBuffer(file);

return false;
};


Подробнее здесь: https://stackoverflow.com/questions/793 ... asn-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»