2016-12-23 8 views
0

У меня есть 64-битные кодируются подписи необходимо проверить SHA1Проверка подпись

это то, что я сделал

byte[] decodeValue = Base64.decode(currentItem.getEnclosure().getSignature(), Base64.DEFAULT); 

и я получил байты результатов

Теперь подпись

try { 

Signature signature = Signature.getInstance("SHA1withRSA"); 

    if(signature.verify(decodeValue)){ 
... ... 

    }catch (Exception e){ 
    Log.e("ERROR",e.getMessage()); 
    } 

I всегда получал это исключение Объект подписи не инициализирован правильно

Как решить эту проблему

+0

Have y ou прочитал документы для исключения и проверил, что ваш вход правильно закодирован? [«подписанная подпись неверно закодирована или неправильного типа»] (https://docs.oracle.com/javase/7/docs/api/java/security/Signature.html#verify (byte [])) – px06

ответ

1

Для проверки подписи, необходимо:

  1. инициализировать объект подписи с сертификатом эмитента,
  2. обновления вызова() со всеми байтами сообщения,
  3. call verify() с байтами подписи
+0

вы можете помочь с кодом – Adnan

+0

где подпись? –

+0

decodeValue - подпись. Это выглядеть следующим образом эта величина является base64 закодированного Q3FmBfpmCNTujKCeP + eVum3AT2DR9T0U1h7PS3ujpmi7P + 8taK + vDeMAVOk6puIQY + iY1Q2gXboTZd6U0/LuT4JF3brmT3lPQIyI7aSFxf4YLsRSy4hd/nArCEO +/uJUFUKig36tf2cNtu8fuZSfuDMsf5ho1In6nO6u + sp4dIk = – Adnan

 Смежные вопросы

  • Нет связанных вопросов^_^