Для генерации пары приватного и публичного ключа используется компонент GenKeyPairs. Представленные тобой PHP ключи по формату не совсем те, которые используются компонентами HiAsm.
На данный момент у нас также не реализовано прямое шифрование/дешифрование публичным/приватным ключом.
Последовательность у нас такая:
- генерируется пара ключей, либо используется ранее сгенерированная
- у клиента с помощью компонента ExportSessionKey и публичного ключа из пары генерируется случайный SessionKey и его зашифрованный вариант ExchangeKey.
- ExchangeKey передаётся серверу - он не может быть расшифрован при перехвате
- сервер расшифровывает полученный ExchangeKey с помощью приватного ключа из пары компонентом ImportSessionKey и получает тот же SessionKey
- теперь у сервера и клиента есть одинаковые SessionKey, переданные безопасным способом. Ими следует в дальнейшем шифровать/расшифровывать данные, например компонентами EnCrypt/DeCrypt, или моими компонентами.
Ответов: 4628
Рейтинг: 749
|
|||
карма: 26 |
|
Редактировалось 4 раз(а), последний 2018-11-12 14:39:56