Информация об изменениях

Сообщение Re: Desktop app + TLS1.2 от 16.11.2019 22:20

Изменено 16.11.2019 22:23 vsb

Re: Desktop app + TLS1.2
Сертификат может быть выпущен на IP. Например https://1.1.1.1/ . Правда кому попало такой сертификат доверенный центр не выпустит и на 192.168 точно не выпустит, но самоподписанный сертификат выпустить можно, стандарты позволяют указывать IP, а не DNS-имя.

В вашем случае разумно всю заботу о сертификатах сложить на плечи пользователей-администраторов. Пользуйтесь стандартными средствами операционной системы, а администраторы пусть сами решают, выпустить им нормальный сертификат или делать локальный удостоверяющий центр с самоподписанным корневым сертификатом и устанавливать его как доверенный на нужные машины. От вас требуется предоставить возможность загружать ключ и сертификат в ваше приложение.

Для тупых можете предоставить возможность генерации сертификата через letsencrypt. От админа в данном случае нужно будет настроить DNS и указать у вас в настройках hostname, т.е. myserver.aws.com, например, который указывает на публичный API. Тогда вы сможете используя letsencrypt и слушая 80 порт на этой машине выпустить сертификат на этот домен и в дальнейшем его использовать в своих целях.

Ну можете ещё автоматически сгенерировать самоподписанный сертификат на произвольный домен/IP-адрес, выгрузить его пользователю и показать инструкцию, как его установить в доверенные на другом конце.

SVZ>Как эта проблема решается в мобильных интернет банках, например?

SVZ>Вот есть клиентское приложение, оно обязано иметь сертификат, чтобы доказать серверу, что оно "настоящее"?
SVZ>Или любое приложение может приконнектиться к веб АПИ?

Любое приложение может приконнектиться к веб АПИ. Любой сертификат тут будет бессмысленнен, т.к. расковырять apk и вытащить оттуда ключ это не так уж сложно, то бишь защита тут примерно как захардкодить пароль в исходниках.
Re: Desktop app + TLS1.2
Сертификат может быть выпущен на IP. Например https://1.1.1.1/ . Правда кому попало такой сертификат доверенный центр не выпустит и на 192.168 точно не выпустит, но самоподписанный сертификат выпустить можно, стандарты позволяют указывать IP, а не DNS-имя.

В вашем случае разумно всю заботу о сертификатах сложить на плечи пользователей-администраторов. Пользуйтесь стандартными средствами операционной системы, а администраторы пусть сами решают, выпустить им нормальный сертификат или делать локальный удостоверяющий центр с самоподписанным корневым сертификатом и устанавливать его как доверенный на нужные машины. От вас требуется предоставить возможность загружать ключ и сертификат в ваше приложение.

Для тупых можете предоставить возможность генерации сертификата через letsencrypt. От админа в данном случае нужно будет настроить DNS и указать у вас в настройках hostname, т.е. myserver.aws.com, например, который указывает на публичный IP-адрес с открытым 80 портом. Тогда вы сможете используя letsencrypt и слушая 80 порт на этой машине выпустить сертификат на этот домен и в дальнейшем его использовать в своих целях.

Ну можете ещё автоматически сгенерировать самоподписанный сертификат на произвольный домен/IP-адрес, выгрузить его пользователю и показать инструкцию, как его установить в доверенные на другом конце.

SVZ>Как эта проблема решается в мобильных интернет банках, например?

SVZ>Вот есть клиентское приложение, оно обязано иметь сертификат, чтобы доказать серверу, что оно "настоящее"?
SVZ>Или любое приложение может приконнектиться к веб АПИ?

Любое приложение может приконнектиться к веб АПИ. Любой сертификат тут будет бессмысленнен, т.к. расковырять apk и вытащить оттуда ключ это не так уж сложно, то бишь защита тут примерно как захардкодить пароль в исходниках.