Поддерживает ли mcrypt асимметричное шифрование? - PullRequest
5 голосов
/ 16 апреля 2010

Я хочу использовать асимметричное шифрование заголовков в запросах RESTful для проверки подлинности системы, отправляющей запрос: т. Е. Система A шифрует свое имя, метку времени и имя службы с помощью своего открытого ключа в запросе к Системе B. Система Затем B использует открытый ключ системы A для расшифровки, подтверждая подлинность запроса.

1) Поддерживает ли php-mcrypt это?

2) Кто-нибудь тестировал этот тип операции?

1 Ответ

11 голосов
/ 16 апреля 2010

Нет, mcrypt - это просто симметричные блочные шифры.

Однако расширение PHP OpenSSL поддерживает асимметричные операции. Вы хотите openssl_sign и openssl_verify.

(У вас небольшая терминологическая проблема - в асимметричных системах шифрование выполняется с открытыми ключами, а дешифрование с закрытыми ключами; подписывание выполняется с закрытыми ключи и проверка с открытыми ключами. Не путайте подписывание с шифрованием или дешифрованием - хотя базовые операции часто похожи, это не одно и то же, и путаница может привести к небезопасным реализациям).

Конечно, вы можете просто выполнить REST поверх SSL, используя клиентские сертификаты для аутентификации.

...