В чем разница между различными типами заполнения в iOS?

В iOS API сертификатов, ключей и служб доверия содержит следующие типы заполнения:

  • kSecPaddingNone
  • kSecPaddingPKCS1
  • kSecPad1
  • kSecPad1 kSecPaddingPKCS1MD5
  • kSecPaddingPKCS1SHA1

Пользователь из списка рассылки Apple CDSA говорит, что «kSecPaddingPKCS1 [...] то же самое, что и PKCS # 1 1.5». Справочник по службам сертификатов, ключей и доверия содержит аннотации к последним трем типам заполнения ( kSecPaddingPKCS1MD2 , kSecPaddingPKCS1MD5 и kSecPaddingPKCS132SAH] с заполнением «Standard» будет «стандартным» done, а также заполнение PKCS1 базовой операции RSA ".

  1. В чем отличие от kSecPaddingPKCS1 ?
  2. Является ли kSecPaddingPKCS1 просто необработанным заполнением базовой операции RSA согласно RFC 3447?
  3. При подписании дайджеста SHA-256, SHA-384 или SHA-512 с помощью SecKeyRawSign ( ) , нужно ли разработчику использовать kSecPaddingPKCS1 и самому выполнять заполнение ASN.1? Необходимо ли заполнение ASN.1 или его можно опустить?

Любой намек, который указывает мне правильное направление, приветствуется.

14
задан mbinna 19 February 2011 в 22:45
поделиться