Итак, я пытаюсь проанализировать файл формата 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
Невозможно извлечь открытый ключ из объекта ASN. ⇐ Javascript
Форум по Javascript
-
Anonymous
1736922579
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;
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79357233/cannot-extract-public-key-from-asn-object[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия