Регистрация JavaScript, если сертификат SSL действителен

Существует ли способ зарегистрироваться в JavaScript, если дали хост, это - сертификат SSL, допустимо? (не блокирующийся)

В моем случае я хочу отобразиться: "можно также использовать https://.." если через JavaScript я могу выполнить запрос к https://my_url не попросившись принимать недоверяемый сертификат.

Это может быть сделано асинхронно?

15
задан tshepang 16 April 2014 в 16:46
поделиться

3 ответа

Вопрос не имеет смысла. Вы не можете получить SSL-сертификат сервера, не открыв к нему SSL-соединение, и, как только вы это сделаете, сообщать пользователю, что он тоже может это сделать, бессмысленно.

1
ответ дан 1 December 2019 в 03:52
поделиться

Прямой ответ - нет. Javascript не предоставляет никаких средств проверки сертификатов. Это работа, оставленная браузеру.

Лучший подход к этой проблеме - со стороны сервера. Если вы управляете сайтом, вы можете отобразить переменную на странице с информацией, полученной на стороне сервера.

В .Net что-то вроде

var canSecure = <%= MySiteHasSsl ? "true" : "false" %>;
if (canSecure) {
    if (confirm("This site supports SSL encryption. Would you like to switch to a secure connection?")) {
        location.href = "https://mysite.com";
    }
}
3
ответ дан 1 December 2019 в 03:52
поделиться

Я не совсем понимаю, каков ваш вариант использования. Если вы просто пытаетесь «проверить заранее», прежде чем предоставить кому-то ссылку на другой веб-сайт, тогда другие ответы здесь будут более актуальными, чем мои.

Если вы ожидаете, что mysite.com будет использовать SSL-сертификат, которому по умолчанию не доверяют в браузере, но у вас есть другой способ узнать, что ему следует доверять, то вы можете использовать реализацию TLS в JavaScript для создания междоменного запросы на этот другой сайт. Однако для этого необходимо, чтобы ваш веб-сайт обслуживался по https и с самого начала был доверенным в браузере, а другой сайт должен был предоставлять файл политики междоменного использования Flash.

Если это похоже на то, что вы хотите сделать, посмотрите проект Forge с открытым исходным кодом на github:

http://github.com/digitalbazaar/forge/blob/master/README.md

1
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: