В какой момент происходит взаимодействие с центром сертификации

«В какой момент происходит взаимодействие с центром сертификации» — вопрос из категории Безопасность, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Взаимодействие с центром сертификации (CA) происходит при запросе и проверке сертификатов:

  1. Получение сертификата (например, через ACME-протокол):
    client := &acme.Client{Key: privateKey}
    account, _ := client.Register(ctx, &acme.Account{}, acme.AcceptTOS())
    cert, _ := client.Authorize(ctx, "example.com")
  1. Проверка сертификата (при TLS-рукопожатии) — клиент проверяет цепочку доверия до корневого CA.

  2. Отзыв сертификата — проверка CRL/OCSP. Пример OCSP-запроса:

    ocspReq, _ := ocsp.CreateRequest(cert, issuerCert, nil)
    resp, _ := http.Post(ocspServer, "application/ocsp", bytes.NewReader(ocspReq))

Ключевые моменты: при первом выпуске, продлении и верификации отзыва. В runtime (TLS) обычно используется кешированная цепочка.