Аутентификация клиентского сертификата на языке Flutter / Dart - PullRequest
0 голосов
/ 16 сентября 2018

Я новичок в мире сертификатов.Я решил создать приложение, которое обязано использовать сертификат для доступа к API.

Я создал самозаверяющий сертификат CA, SSL-сертификат и клиентский сертификат.Я импортировал их в Windows Server и правильно настроил IIS.Я могу сделать запрос с файлом clientcertificate.pfx к API из браузера (Google Chrome).Сертификат pfx импортируется в персональный пользовательский магазин через MMC.Для создания файла pfx я использовал файлы .cert и .pvk.

Пока все хорошо.

Сейчас я пытаюсь сделать запрос от dart и не знаю, какие файлы я должен отправитьAPI.Должен ли я отправить файл pfx?Или, может быть, файлы .cert и .pvk?Вы когда-нибудь делали это, ребята?Может ли кто-нибудь помочь мне с пониманием этого процесса?Я уже прочитал много сайтов, но все еще не нашел ответы.В мире мобильных разработок я тоже новичок.

1 Ответ

0 голосов
/ 17 сентября 2018

Дарт HttpClient может занять SecurityContext.

Чтобы добавить настраиваемый доверенный центр сертификации или отправить сертификат клиента на серверы, которые запрашивают один , передатьобъект SecurityContext в качестве необязательного аргумента context для конструктора HttpClient.Требуемые параметры безопасности можно установить для объекта SecurityContext.

Сохраните хранилище ключей клиента PKCS12 (файл pfx) где-нибудь в вашем приложении, вероятно, в качестве ресурса, и загрузите его при запуске.Создайте SecurityContext, а затем вызовите оба useCertificateChainBytes и usePrivateKeyBytes, передавая одинаковые значения обоим (содержимое файла pfx и пароль).

Используйте это SecurityContext как context вашего HttpClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...