2012-04-10 8 views
0

В методе подписи в XML-подписи вы должны указать в следующем формате: SignatureMethod.RSA_SHA1 но при использовании обычной подписи вы просто делаете
метод подписи в XML-подписи

Cipher c1=Cipher.getInstance("RSA"); 

Так в чем разница между этими двумя?

ответ

2

Разница проста:

RSA является (public-key) cryptography алгоритмом, где открытым ключом используется для шифрования важного сообщения. Зашифрованные данные должны быть дешифрованы с помощью закрытого ключа.

RSA-SHA1, с другой стороны, представляет собой комбинацию из RSA cryptography + SHA1 Message Digest. message digest является функцией хеширования в одну сторону, которая имеет четыре основные или существенные свойства:

  • легко вычислить значение хэш-функции для любого данного сообщения
  • это неосуществимо, чтобы сгенерировать сообщение, которое имеет заданную хэш
  • это неосуществимо, чтобы изменить сообщение без изменения хэш
  • это невозможно найти два разных сообщения с такой же хэш

в Digital Signature, нужно было бы получить гарантию, что подпись действительна от отправителя до получателя. Подпись создается с помощью криптографического алгоритма (например, RSA), а затем процесс проверки выполняется с открытым ключом, сообщением и сигнатурой через функцию хеширования (например, SHA-1) для подлинности .

+0

Но в подписи xml у вас уже есть «DigestMethod.SHA256», где вы найдете дайджест элементов рефери. Затем вы подписываете элемент своим личным ключом. – Ashwin

+0

Я все еще не следую за тобой. Метод Digest используется только для того, чтобы рассказать вам, какой алгоритм он использовал для Message Digest (в вашем случае 'DigestMethod.SHA256'). «Подпись» использует криптографию для генерации подписи. Это должно произойти ** перед ** 'DigestMethod'. –

+0

Сначала вычисляется цифровой элемент реферимента. Этот digenst содержится в подписанном элементе информации. то этот подписанный элемент ino подписывается с использованием личного ключа отправителей. Приемник при получении сообщения сначала проверяет подпись. И затем проверяет ссылочный элемент, создавая дайджест ссылочного элемента и сравнивая его с входящим значением дайджеста. – Ashwin

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