Я пытаюсь обеспечить безопасность связи с S.A.M. (Модуль безопасного доступа)
Сначала я отправляю MSE: SET APDU для внешней аутентификации:
//83 is my private key's ID. F8 is algorithm identifier
OutgoingAPDU : 002281A4068001F8840183
ResponseSW1SW2 : 9000
Перед отправкой внешний авториз. В документах говорится, что шифрование выполняется с помощью RSAES-OAEP PKCS # 1, поэтому я использую эту команду openssl для шифрования.
openssl_public_encrypt($dataForEncryption, $output, $publicKey['key'], OPENSSL_PKCS1_OAEP_PADDING);
//$firstPartOfData => first 488 of $output
//$secondPartOfData => last 24 of $output
//total $output is 512
Прежде всего, это истинный отступ для RSAES-OAEP PKCS # 1.
А потом внешняя аутентификация. Команды APDU.
//strlen($firstPartOfData) = 488
OutgoingAPDU : 10820000F4.$firstPartOfData
ResponseSW1SW2 : 9000
//strlen($firstPartOfData) = 24
OutgoingAPDU : 008200000C.$secondPartOfData
ResponseSW1SW2 : 6982
Куда я скучаю? Или где ошибка. Я не мог выяснить проблему.