Существует ли способ зарегистрироваться в JavaScript, если дали хост, это - сертификат SSL, допустимо? (не блокирующийся)
В моем случае я хочу отобразиться: "можно также использовать https://.." если через JavaScript я могу выполнить запрос к https://my_url
не попросившись принимать недоверяемый сертификат.
Это может быть сделано асинхронно?
Вопрос не имеет смысла. Вы не можете получить SSL-сертификат сервера, не открыв к нему SSL-соединение, и, как только вы это сделаете, сообщать пользователю, что он тоже может это сделать, бессмысленно.
Прямой ответ - нет. 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";
}
}
Я не совсем понимаю, каков ваш вариант использования. Если вы просто пытаетесь «проверить заранее», прежде чем предоставить кому-то ссылку на другой веб-сайт, тогда другие ответы здесь будут более актуальными, чем мои.
Если вы ожидаете, что mysite.com будет использовать SSL-сертификат, которому по умолчанию не доверяют в браузере, но у вас есть другой способ узнать, что ему следует доверять, то вы можете использовать реализацию TLS в JavaScript для создания междоменного запросы на этот другой сайт. Однако для этого необходимо, чтобы ваш веб-сайт обслуживался по https и с самого начала был доверенным в браузере, а другой сайт должен был предоставлять файл политики междоменного использования Flash.
Если это похоже на то, что вы хотите сделать, посмотрите проект Forge с открытым исходным кодом на github: