У меня есть сайт с включенной защитой PKI. Каждый клиент использовал либо кард-ридер для загрузки своего сертификата, либо сертификат был установлен в хранилище сертификатов IE на их компьютере.
Итак, мой вопрос:
- Как я могу использовать сертификат устройства чтения карт или сертификат, хранящийся в системе, для проверки системы?
- Как мне передать учетные данные на сайт, чтобы сказать «Привет, я — это я, и я могу получить доступ к сервису»? Например, можно использовать мягкие сертификаты. Я могу выяснить часть кард-ридера позже.
Я искал вокруг, и я не придумал ничего, что могло бы помочь мне в этой ситуации. В Django есть куча модулей, но это не вариант, потому что меня интересует только клиентская часть. Я не создаю сайт для размещения службы. Мне нужно просто получить доступ к этим сервисам.
У меня этот код работает вроде. Я просто не знаю, как справиться с перенаправлением, которое я получаю:
import httplib
KEYFILE = r"C:\cert\my.key"
CERTFILE = r"c:\cert\my.pem"
HOSTNAME = 'machine.com'
conn = httplib.HTTPSConnection(
HOSTNAME,
key_file = KEYFILE,
cert_file = CERTFILE
)
conn.putrequest('GET', '/arcgis/sharing/rest?f=json')
conn.endheaders()
response = conn.getresponse()
print response.read()
Результат всего этого:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://machine.com/pki?https://machine.com/arcgis/sharing/rest%3f&f=json">here</a>.</p>
</body></html>
Любая оказанная помощь будет здорово!
Спецификации программного обеспечения: Python 2.7.8, Windows 2012 R2
requests.get(url, cert=('path/to/cert', 'path/to/key'))
(извините - не хотел публиковать как ответ) - person bimsapi   schedule 09.06.2015