• Java ? Android Чет я никак не пойму за https... Если я пишу своё андройд-приложение, которое общается с моим же веб-сервером, как тут использовать https? Там какие-то сертификаты где-то надо получать... но есть и самоподписанные сертификаты, это что значит...

Replies (58)

  • @fascist-moralist, я бы мог дать ссылку на педивикию, но не буду, сама найдешь
  • @s1dney, Читала десять раз, непонятно
  • @fascist-moralist, ну тогда еще пару ссылок в топе гугла почитать
  • @fascist-moralist, на startssl.com можно получить сертификаты, которым доверяют по умолчанию все браузеры, бесплатно. Если не предполагается что по твоей ссылке будет ходить человек, а только твое приложение, то можно и самоподписанные использовать.
  • @s1dney, Скажи вот конкретно, моё андройд приложение, мой веб-сервер, мне для обеспечения зашифрованного соеденения надо использовать https? Если нет то я дальше и не буду искать, если да то думаю разберусь.
  • @vt, Ага...
  • @vt, А самоподписанный сертификат моё предложение откуда будет брать?
  • @fascist-moralist, хочешь используй, а хочешь не используй, что за вопросы?
  • @s1dney, Ну спрошу по другому. Нужно обеспечить безопасную передачу данных между андройд-приложением и веб-сервером, какой лучший вариант?
  • @fascist-moralist, генерируется с помощью openssl например
  • @fascist-moralist, насколько безопасную? там явки\пароли\ню фото или просто нужно чтобы было "безопасное соединение"?
  • @s1dney, Максимально безопасное, замешаны системы безопасности :-)
  • @s1dney, Ну как максимально... ну блин...
  • @s1dney, Ну чтоб велосипедов тоже не изобретать, в общем.
  • @vt, На стороне приложения? Или он один раз генерируется и передаётся приложению и веб-серверу?
  • @fascist-moralist, Ну в смысле жестко зашивается где-то там
  • @fascist-moralist, купить сертификат ssl дешево без смс
    поставить его на сервер, дальше опять в гугл как научить мое андройд-приложение использовать ssl
  • @s1dney, Ммм... вообще наверное так и надо будет, а сколько они стоят?
  • @fascist-moralist, ssl сертификат лежит на сервере, он удостоверяет клиентов о том, что этот сервер именно этот сервер, а не какой-то другой, ну а еще делает шифрование с помощью открытого ключа, таким образом кроме передающего и получающего траффик подсматривать нельзя
  • @s1dney, А, кажется поняла. А у андройд-приложения есть открытый ключ просто, зашит там
  • @fascist-moralist, от 30$ в год за один домен
  • @fascist-moralist, там генерируется цепочка сертификатов — на сервере и на клиенте устанавливается корневой сертификат в хранилище доверенных сертификатов, в параметрах сервера прописывается сертификат, выданный корневым центром. Клиент, подключаясь, запрашивает у сервера сертификат, сверяет, что он действительно выдан тем корневым центром, чей сертификат у него есть в доверенных, и продолжает дальше соединение.
  • @s1dney, А те которые раздают сертификаты они просто эти ключи отдают по запросам, да?..
  • @fascist-moralist, на startssl.com бесплатно, каждый год обновляешь и всё. Лучше сразу делай там.
  • @fascist-moralist, важно только то, что они подписывают этот сертификат, сам по себе он нихуя не стоит, просто они подтверждают что ты это ты, а не вася пупкин, который сделал такой-же сертификат и говорит что он это ты
    так понятно?
  • @vt, Мне кажется в моём случае нужно в сторону самоподписанных, только я ещё не до конца поняла что это.
  • @s1dney, Ну ты говоришь общими словами, а мне надо в терминах RSA, закрытый ключ, открытый ключ и всё-такое :-)
  • @fascist-moralist, это одно и тоже, просто в случае startssl тебе возможно не придется возиться с корневыми сертификатами, просто получить свой и прописать его в настройках сервера, а корневые сертификаты startssl на сервере в хранилище уже почти наверняка есть
  • @vt, У меня просто глубоко закрытое коммерческое приложение.
  • @vt, и никуда наружу никакого апи не отдает, компоненты между собой должны общаться и всё
  • @vt, Может я не разобралась и в моем случае проще/правильнее будет вообще обойтись безо всяких https?
  • @fascist-moralist, это сначала вообще какое-то безумие, но когда понимаешь принцип работы все как-то даже просто становится:
    закрытый ключ лежит где-то глубоко и никому не показывается
    открытый ключ может получить любой по запросу
    вся связь происходит через пару "публичный" и "закрытый" ключи, зашифровывают открытым, распаковывают закрытым, нет закрытого ключа — нет возможности расшифрования
    один сервер, первый, делает сообщение, запаковывает его в открытый ключ другого сервера(второй), а он(второй) в свою очередь, может распоковать его только своим закрытым ключем, который есть только у него
  • @s1dney, Всё что ты написал я прекрасно понимаю, уже использовала RSA в предыдущих проектах, не связанных с вебом... но в данном случае чета всё никак не может в голове ясная картина уложиться :-(
  • @fascist-moralist, девушка,
    вы сначала определитесь, что вам нужно, а потом пишите в жуйк
    а то вас не поймешь
  • @s1dney, мне надо чтобы всё работало! :-)
  • @fascist-moralist, вот опять
    что работало?
  • @s1dney, приложение должно будет хранить открытый ключ в ообщем?
  • @fascist-moralist, сервер присылает сообщение зашифрованное закрытым ключом, приложение его расшифровывает и удостоверивается что это её сервер, потом сервер присылает закрытый ключ 2 зашифрованный, приложение зашифровывывает этим закрытым ключом 2 всё своё и отправляет туда
  • @fascist-moralist, да, этот ключ идентифицируется по доменному имени, хотя оно даже не хранится, а лежит в кеше
  • @fascist-moralist, я бы так сделала, но раз есть https наверное же надо использовать его? :-)
  • @s1dney, Короче, весь смысл https в том что эти открытые ключи выдает специальный сервер?
  • @fascist-moralist, ну и соответственно выдает закрытые ключи, другими словами сертификаты, тем серверам которые платят...
  • @fascist-moralist, Чет я забыла, у закрытых ключей которыми можно только зашифровывать и закрытых ключей которыми можно только расшифровывать разные названия?..
  • @fascist-moralist, зашифровывают открытыми ключами, у него расширение pub
    а сертификат и закрытый ключ это не одно и то же
  • @s1dney, Да не, бывают ещё такие открытые ключи которыми расшифровывают.
  • @fascist-moralist, Соответственно а зашифровать можно только одним закрытым. Так можно определить собсно отправитель тот или не тот
  • @fascist-moralist, тогда уж это не шифрование, а сигнатура типа подписи
  • @s1dney, Ну... я вообще слабая девушка, а уж что касается терминов... :-)
  • @s1dney, Но по итогам разговора я пришла к выводу что не надо мне никаких сертификатов, андройдное приложение будет хранить открытый ключ для итендификации сервера и всё. Ага... а что касается итендификации приложения сервером?..
  • @fascist-moralist, Ну блин, аналогично, сервер будет хранить другой открытый ключ.
  • @fascist-moralist, "открытый ключ для идентификации сервера" это и есть сертификат, точнее часть его
  • @fascist-moralist, ну там есть же идентификации по ключу всякие сервисные типа оauth, или опять же ssl
  • @vt, А другая часть это закрытый ключ из второй пары? :-)
  • @vt, Или сертификат это обе пары ключей?
  • @fascist-moralist, Че вы замолчали... :-(
  • @fascist-moralist, startssl.com там получай серт на сайт
  • @NokitaKaze, Удивился наверное номеру комментария, да? :-)
  • @fascist-moralist, о то ж