Форум программистов, компьютерный форум, киберфорум
Go (Golang)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для voraa
1259 / 1211 / 180
Регистрация: 21.01.2024
Сообщений: 5,576

tls сертификат не работает

10.02.2024, 12:27. Показов 2265. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал небольшой сервер. Все работает.
Решил попробовать, как он будет работать с tls (по https).
Программу для генерации tls сертификата брал отсюда https://go.dev/src/crypto/tls/generate_cert.go
Разумеется дату начала действия сертификата я ставил новую.
Все прекрасно работало, ну конечно приходилось еще браузер уговаривать принять этот сертификат.

Было это в конце января.

Вчера запускаю сервер, обращаюсь к нему, получаю на сервере такую ошибку

Code
1
 http: TLS handshake error from [::1]:62312: remote error: tls: unknown certificate
Пробовал сгенерить новый сертификат - тоже самое.

Решил попробовать на ноуте, где тоже все работало и там я точно ничего не правил - та же самая ошибка.

Кто-нибудь имеет опыт работы с этими вещами?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2024, 12:27
Ответы с готовыми решениями:

Не работает ssl сертификат на проксируемом приложении
Добрый день На сервере запускается приложение Ruby которое проксируется, работающее на порту 4443 используя Nginx. Проблема в том,...

Сертификат для установки TLS соединения
Написал прокси-сервер. Теперь прикручиваю к нему TLS. Нужен сертификат - можно и самоподписанный, лишь бы убедится что все работает. Делаю...

SMTP Virtual Server НЕ видит СЕРТИФИКАТ (TLS)
Здравствуйте! Windows Server 2016 Standart Настраиваю TLS для SMTP Virtual Server... Сделал всё согласно инструкции -...

6
364 / 328 / 83
Регистрация: 17.04.2022
Сообщений: 1,080
Записей в блоге: 8
10.02.2024, 13:03
Цитата Сообщение от voraa Посмотреть сообщение
ну конечно приходилось еще браузер уговаривать принять этот сертификат.
возможно, броузер (ОС) обновились, и вам нужно опять приложить такие усилия.
насколько я понимаю, "remote error" намекает именно на это.
0
 Аватар для voraa
1259 / 1211 / 180
Регистрация: 21.01.2024
Сообщений: 5,576
10.02.2024, 13:07  [ТС]
Код самого сервера вот
Go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package main
 
import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "strconv"
 
    "github.com/alive/alivedate"
)
 
func GetReguestUrls(req *http.Request) ([]string, error) {
    var urls []string
 
    body, err := io.ReadAll(req.Body)
    if err != nil {
        return urls, err
    }
    
    err = json.Unmarshal([]byte(body), &urls)
    if err != nil {
        return urls, err
    }
    
    return urls, nil
}
 
func SendAnswer(w http.ResponseWriter, buf []byte) {
    w.Header().Set("Access-Control-Allow-Origin", "*")
    w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
 
    fmt.Fprintln(w, string(buf))
}
 
func alive(w http.ResponseWriter, req *http.Request) {
    urls, err := GetReguestUrls(req)
    
    if err != nil {
        http.Error(w, err.Error(), 400)
    }
 
    json := alivedate.GetAliveDates(urls)
 
    SendAnswer(w, json)
}
 
func main() {
    type TConf struct {
        Port int    `json:"port"`
        Cert string `json:"cert"`
        Key  string `json:"key"`
    }
    
    confdata, err := os.ReadFile("alive.conf")
    if err != nil {
        panic(err)
    }
    
    conf := new(TConf)
    jerr := json.Unmarshal(confdata, &conf)
    if jerr != nil {
        panic(jerr)
    }
 
    http.HandleFunc("/alive", alive)
    
    if len(conf.Cert) == 0 || len(conf.Key) == 0 {
        fmt.Println("Server on port ", conf.Port, " http")
        err := http.ListenAndServe(":"+strconv.Itoa(conf.Port), nil)
        if err != nil {
            panic(err)
        }
    } else {
        fmt.Println("Server on port ", conf.Port, conf.Cert, " https")
        err := http.ListenAndServeTLS(":"+strconv.Itoa(conf.Port), conf.Cert, conf.Key, nil)
        if err != nil {
            panic(err)
        }
    }
}
Тут только считывание конфига, установка, прием запроса и отправка ответа. Вся обработка в пакете alivedate

Добавлено через 3 минуты
Цитата Сообщение от sqltd1 Посмотреть сообщение
возможно, броузер (ОС) обновились,
На десктопе винда за это время точно ставила какие то небольшие обновления. На ноуте - нет. С тех пор как я на нем все проверял, он был выключен. Вчера только включил.
Браузер тут не причем. Он не получает ответа от сервера. Сервер падает при приеме запроса.

Без tls по http все работает.
0
364 / 328 / 83
Регистрация: 17.04.2022
Сообщений: 1,080
Записей в блоге: 8
10.02.2024, 14:12
Лучший ответ Сообщение было отмечено voraa как решение

Решение

Цитата Сообщение от voraa Посмотреть сообщение
Браузер тут не причем. Он не получает ответа от сервера. Сервер падает при приеме запроса.
Перед отправкой запроса должно быть установлено соединение.
Поставьте какой нибудь инструмент для перехвата сетевого трафика (network(packet) sniffers) и проанализируйте процесс установления соединения.
"remote error" намекает именно на то, что броузер отказывает в установлении соединения

Добавлено через 4 минуты
кстати, не нашел в открытом доступе github.com/alive/alivedate
1
 Аватар для voraa
1259 / 1211 / 180
Регистрация: 21.01.2024
Сообщений: 5,576
10.02.2024, 14:41  [ТС]
Цитата Сообщение от sqltd1 Посмотреть сообщение
кстати, не нашел в открытом доступе github.com/alive/alivedate
Это извращение описано тут
Не могу разобраться с пакетами и модулями
Я так и не научился подключать пакет из файла на моем же компьютере
Приходится через
Code
1
2
require github.com/alive/alivedate
replace github.com/alive/alivedate => ../alivedate/alivedate
0
364 / 328 / 83
Регистрация: 17.04.2022
Сообщений: 1,080
Записей в блоге: 8
10.02.2024, 14:47
просто github.com/alive - уже забито приватным репозиторием (пытался сходить посмотреть -)
0
 Аватар для voraa
1259 / 1211 / 180
Регистрация: 21.01.2024
Сообщений: 5,576
10.02.2024, 19:49  [ТС]
Цитата Сообщение от sqltd1 Посмотреть сообщение
"remote error" намекает именно на то, что броузер отказывает в установлении соединения
Может и так. Буду ковыряться.

Добавлено через 1 час 8 минут
sqltd1, ты был прав. Действительно дело в браузерах.
Но я их убедил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2024, 19:49
Помогаю со студенческими работами здесь

Как работает клиент-серверное приложение по TLS (OpenSSL)
Есть клиент-серверное приложение который работает по TLS (взял пример из гитхаба OpenSSL demos/sslecho) Он работает через TLS и там уже...

Сертификат безопасности сайта не является доверенным! Вы попытались перейти на сайт www.google.ru, но сервер предоставил сертификат, выданный организа
Сертификат безопасности сайта не является доверенным! Вы попытались перейти на сайт www.google.ru, но сервер предоставил сертификат,...

Outlook в телефон не работает, ребята мне сказали что нужен SSL сертификат
У нас в предприятия настроено наш почта (Exchange), он в компьютер в программа Outlook 2013 нормально работает, сотрудники щас хотеть чтобы...

Java tls 1.3
Новичок в java. Пробую сделать сокет с возможностью работы с протоколом TLS 1.3 Не получается. SSLContext context =...

TLS WinAPI
Здравствуйте!У мене не компилится программа.Не могу понять в чем дело. Вот код #include <stdio.h> #include <iostream> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru