Модераторы: AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RSA setModulus return 6F 00 
V
    Опции темы
Jessy
Дата 25.11.2010, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 1.11.2010

Репутация: нет
Всего: нет



Создаю RSA public key 512 bit

setExponent  
длинна 0x04
0x01000100 проходит без проблем.



setModulus    

длинна 0x40
6942abe059ed8eb7478a488f45071ddf2fb9e1d34cfb1b8b38df050c4a6081875bd122b17f1d4fa68b57242e632bebdcc9bb2247073dc415e7272ae342b99eda

возвращает 
 <= 6F 00
Status: No precise diagnosis



Примерный код:

rsa_public_key  = (RSAPublicKey)KeyBuilder.buildKey(KeyBuilder.TYPE_RSA_PUBLIC, 
                                                                    KeyBuilder.LENGTH_RSA_512, 
                                                                    false);

rsa_public_key.setExponent(buffer, ISO7816.OFFSET_CDATA, ISO7816.OFFSET_LC);


rsa_public_key.setModulus(buffer, ISO7816.OFFSET_CDATA, ISO7816.OFFSET_LC);

Заранее спасибо.

PM MAIL   Вверх
firstone
Дата 25.11.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

Репутация: 5
Всего: 7



1) Не используйте ключи в 512 бит - за месяц хакаются (если не меньше)
2) Мне не понятно, или это не полный код? Получается салат. Можно запостить сюда кусок вашего кода as-is? 
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
Jessy
Дата 25.11.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 1.11.2010

Репутация: нет
Всего: нет



Код

    private void setExponent(APDU apdu)
    {
     byte buffer[] = apdu.getBuffer();
     rsa_public_key.setExponent(buffer, ISO7816.OFFSET_CDATA, buffer[ISO7816.OFFSET_LC]);
     return;
    }
    
    private void setModulus(APDU apdu)
    {
     byte buffer[] = apdu.getBuffer();
     
     rsa_public_key.setModulus(buffer, ISO7816.OFFSET_CDATA, buffer[ISO7816.OFFSET_LC]);
     return;
    }

Ошибка была в неверных аргументах которые я передавал.
Вместо длинны == buffer[ISO7816.OFFSET_LC], я передавал ISO7816.OFFSET_LC == 4
PM MAIL   Вверх
firstone
Дата 29.11.2010, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

Репутация: 5
Всего: 7



Чтож, рад, что все разрешилось. Впредь помечайте пожалуйста "Пометить вопрос как решенный", если он конечно решенный smile
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java Card | Следующая тема »


 




[ Время генерации скрипта: 0.1142 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.