в коротком вопросе: как я могу заполнить параметры RSAP, если у меня есть следующие данные от третьей стороны ?:
Модуль: 123456
Exponet: 111
В длинном рассказе я использую следующий код:
RSACryptoServiceProvider RSAalg = новый RSACryptoServiceProvider (2048);
RSAParameters rsaPublic = RSAalg.ExportParameters (ложь);
тогда я могу получить модуль и показатель степени открытого ключа rsa в byte []. Чтобы записать эту информацию в формате asn.1
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
Я использую библиотеку asn.1 для преобразования byte [] в его формат bigInteger, но этот byte [] должен быть в таком формате, как {'0', '1', '2', '3', '4', ' 5 ',' 6 ',' 7 ',' 8 ',' 9 '} при условии, что он десятичный.
Но похоже, что rsaPublic.modulus и rsaPublic.exponent не находятся в этом формате, в байтах [] модуля и экспоненты много нецифровых цифр. Итак, каков формат rsaPublic.modulus и rsaPublic.exponent и как преобразовать их в byte [] с форматом вроде {'0', '1', '2', '3', '4', '5 ',' 6 ',' 7 ',' 8 ',' 9 '}?
Большое спасибо