У меня есть следующие настройки:
Есть 2 сервера, для которых требуется сертификат клиента SSL.Сертификат используется для аутентификации.
Пользователь (используя свой браузер) сделает запрос к Server1 со своим клиентским сертификатом.Все идет нормально.Теперь, что я хочу сделать: Server1 сделает запрос к Server2, проанализирует этот ответ и вернет его пользователю.
Server1 сделает запрос с php_curl.Я хочу, чтобы Server1 передавал исходный клиентский сертификат (пользователя) на Server2 (который проверит пользователя, ..).Сервер1 затем публикует «от имени» пользователя.
Возможно ли это?
В Apache включена опция ExportCertData SSLOption.Я уже пытался добавить следующие заголовки к параметрам curl (полагая, что это примерно то же самое, что и настройка прокси-сервера Apache с клиентскими сертификатами):
$headers[] = "SSL_CLIENT_S_DN: ".$_SERVER['SSL_CLIENT_S_DN'];
$headers[] = "SSL_CLIENT_I_DN: ".$_SERVER['SSL_CLIENT_I_DN'];
$headers[] = "SSL_SERVER_S_DN_OU: ".$_SERVER['SSL_SERVER_S_DN_OU'];
$headers[] = "SSL_CLIENT_VERIFY: ".$_SERVER['SSL_CLIENT_VERIFY'];
$headers[] = "SSL_CLIENT_V_START: ".$_SERVER['SSL_CLIENT_V_START'];
$headers[] = "SSL_CLIENT_V_END: ".$_SERVER['SSL_CLIENT_V_END'];
$headers[] = "SSL_CLIENT_M_VERSION: ".$_SERVER['SSL_CLIENT_M_VERSION'];
$headers[] = "SSL_CLIENT_M_SERIAL: ".$_SERVER['SSL_CLIENT_M_SERIAL'];
$headers[] = "SSL_CLIENT_CERT: ".$_SERVER['SSL_CLIENT_CERT'];
$headers[] = "SSL_CLIENT_VERIFY: ".$_SERVER['SSL_CLIENT_VERIFY'];
$headers[] = "SSL_SERVER_M_VERSION: ".$_SERVER['SSL_SERVER_M_VERSION'];
$headers[] = "SSL_SERVER_I_DN: ".$_SERVER['SSL_SERVER_I_DN'];
$headers[] = "SSL_SERVER_CERT: ".$_SERVER['SSL_SERVER_CERT'];
, но с этими удачами не повезло.