Последнее обновление: | Вся документация
Внимание! Английская версия сайта была обновлена, перевод неактуален () Просмотреть на английском
Certificate Transparency (CT) — это система регистрации и мониторинга выдачи сертификатов TLS. CT значительно расширяет возможности любого отслеживать и изучать выдачу сертификатов, значительно улучшая экосистему Центров Сертификации и веб-безопасность. Система CT быстро становится критически важной инфраструктурой.
Let's Encrypt отправляет все выданные нами сертификаты для включения в журналы CT. Мы также работаем с двумя журналами CT, шардирующими свои данные по годам, под названием Oak и Testflume. Мы приглашаем все Удостоверяющие центры, работающие публично, использовать наши журналы. Многие корневые сертификаты сторонних ЦС уже добавлены в наши журналы СТ. Свяжитесь с нами по эл. почте для добавления новых корневых сертификатов в наши журналы, если ваши не были включены.
Зарегистрируйтесь для получения уведомлений в CT объявлениях нашего форума сообщества, чтобы увидеть основные объявления о наших журналах CT.
Финансирование
Мы хотели бы поблагодарить наших партнеров за щедрую финансировую поддержку нашего журнала CT. Если Ваша организация хотела бы помочь нам продолжить эту работу, пожалуйста станьте нашим спонсором или пожертвователем.
Архитектура
Посетите наш блог, чтобы узнать Как Let's Encrypt ведёт журналы CT!
Отслеживание журналов CT
Let's Encrypt создал CT Woodpecker — инструмент с открытым исходным кодом для отслеживания журналов CT. С помощью этого инструмента мы отслеживаем стабильность наших собственных журналов и их соответствие общепринятым стандартам, и мы надеемся, что он будет полезен другим.
Журналы CT
Официальное использование
- Oak включен в CT-программы от Apple и Google.
- Production-среда ACME отправляет сертификаты сюда.
-
-
Название: Oak 2019
URI: https://oak.ct.letsencrypt.org/2019
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFkqNKRuZ+Z8IOsnNJrUZ8gwp+KKGOdQrJ/HKhSadK/SJuoCc9+dxQ7awpmWIMr9SKcQeG5uRzG1kVSyFN4Wfcw==
ID записи:65:9B:33:50:F4:3B:12:CC:5E:A5:AB:4E:C7:65:D3:FD:E6:C8:82:43:77:77:78:E7:20:03:F9:EB:2B:8C:31:29
Дата начала:2019-01-01T00:00Z
Дата окончания:2020-01-07T00:00Z
Статус: Rejected - Shard Expired -
Название: Oak 2020
URI: https://oak.ct.letsencrypt.org/2020
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfzb42Zdr/h7hgqgDCo1vrNJqGqbcUvJGJEER9DDqp19W/wFSB0l166hD+U5cAXchpH8ZkBNUuvOHS0OnJ4oJrQ==
ID записи:E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E
Дата начала:2020-01-01T00:00Z
Дата окончания:2021-01-07T00:00Z
Статус: Rejected - Shard Expired -
Название: Oak 2021
URI: https://oak.ct.letsencrypt.org/2021
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELsYzGMNwo8rBIlaklBIdmD2Ofn6HkfrjK0Ukz1uOIUC6Lm0jTITCXhoIdjs7JkyXnwuwYiJYiH7sE1YeKu8k9w==
ID записи:94:20:BC:1E:8E:D5:8D:6C:88:73:1F:82:8B:22:2C:0D:D1:DA:4D:5E:6C:4F:94:3D:61:DB:4E:2F:58:4D:A2:C2
Дата начала:2021-01-01T00:00Z
Дата окончания:2022-01-07T00:00Z
Статус: Rejected - Shard Expired -
Название: Oak 2022
URI: https://oak.ct.letsencrypt.org/2022
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhjyxDVIjWt5u9sB/o2S8rcGJ2pdZTGA8+IpXhI/tvKBjElGE5r3de4yAfeOPhqTqqc+o7vPgXnDgu/a9/B+RLg==
ID записи:DF:A5:5E:AB:68:82:4F:1F:6C:AD:EE:B8:5F:4E:3E:5A:EA:CD:A2:12:A4:6A:5E:8E:3B:12:C0:20:44:5C:2A:73
Дата начала:2022-01-01T00:00Z
Дата окончания:2023-01-07T00:00Z
Статус: Usable -
Название: Oak 2023
URI: https://oak.ct.letsencrypt.org/2023
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsz0OeL7jrVxEXJu+o4QWQYLKyokXHiPOOKVUL3/TNFFquVzDSer7kZ3gijxzBp98ZTgRgMSaWgCmZ8OD74mFUQ==
ID записи:B7:3E:FB:24:DF:9C:4D:BA:75:F2:39:C5:BA:58:F4:6C:5D:FC:42:CF:7A:9F:35:C4:9E:1D:09:81:25:ED:B4:99
Дата начала:2023-01-01T00:00Z
Дата окончания:2024-01-07T00:00Z
Статус: Usable -
Название: Oak 2024h1
URI: https://oak.ct.letsencrypt.org/2024h1
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVkPXfnvUcre6qVG9NpO36bWSD+pet0Wjkv3JpTyArBog7yUvuOEg96g6LgeN5uuk4n0kY59Gv5RzUo2Wrqkm/Q==
ID записи:3B:53:77:75:3E:2D:B9:80:4E:8B:30:5B:06:FE:40:3B:67:D8:4F:C3:F4:C7:BD:00:0D:2D:72:6F:E1:FA:D4:17
Дата начала:2023-12-20T00:00Z
Дата окончания:2024-07-20T00:00Z
Статус: Pending -
Название: Oak 2024h2
URI: https://oak.ct.letsencrypt.org/2024h2
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE13PWU0fp88nVfBbC1o9wZfryUTapE4Av7fmU01qL6E8zz8PTidRfWmaJuiAfccvKu5+f81wtHqOBWa+Ss20waA==
ID записи:3F:17:4B:4F:D7:22:47:58:94:1D:65:1C:84:BE:0D:12:ED:90:37:7F:1F:85:6A:EB:C1:BF:28:85:EC:F8:64:6E
Дата начала:2024-06-20T00:00Z
Дата окончания:2025-01-20T00:00Z
Статус: Pending
-
Название: Oak 2019
Тестирование
- Ответ от журналов CT в формате SCT (signed certificate timestamp, время записи в журнале о конкретном сертификате) НИКОГДА НЕ ДОЛЖНО попасть в конечный сертификат.
- Production- и Staging-окружение Let's Encrypt ACME API отправляют записи о сертификатах в Testflume, но production-окружение никак не использует полученные ответы SCT.
- Мы тестируем новые версии Trillian и certificate-transparency-go у себя, перед развертыванием их на production.
- Журнал Testflume содержит корневые сертификаты из журнала Oak, плюс несколько тестовых корневых сертификатов.
- Testflume может быть использован сторонними Удостоверяющими Центрами для нужд тестирования.
-
-
Название: Sapling 2022h2
URI: https://sapling.ct.letsencrypt.org/2022h2
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6m0gtMM2pcVTxVjkztm/ByNrF32xacdVnbsYwlzwtqN0vOwqcXLtPkfYqH+q93hlJwEBsX1MnRXDdlMHkkmZJg==
ID записи:23:2D:41:A4:CD:AC:87:CE:D9:F9:43:F4:68:C2:82:09:5A:E0:9D:30:D6:2E:2F:A6:5D:DC:3B:91:9C:2E:46:8F
Дата начала:2022-06-15T00:00Z
Дата окончания:2023-01-15T00:00Z
-
Название: Sapling 2023h1
URI: https://sapling.ct.letsencrypt.org/2023h1
Открытый ключ:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE09jAcGbw5CDCK2Kg0kkmmDydfDfZAA8K64BufU37yx3Jcy/ePy1EjAi2wUPVJ0xsaNMCU37mh+fBV3+K/cSG8A==
ID записи:C1:83:24:0B:F1:A4:50:C7:6F:BB:00:72:69:DC:AC:3B:E2:2A:48:05:D4:db:E0:49:66:C3:C8:ab:C4:47:B0:0C
Дата начала:2022-12-15T00:00Z
Дата окончания:2023-07-15T00:00Z
-
Название: Sapling 2022h2
Действия с журналами
Для перечисления добавленных корневых сертификатов в конкретный журнал СТ, выполните следующую команду в консоли:
$ for i in $(curl -s https://oak.ct.letsencrypt.org/2020/ct/v1/get-roots | jq -r '.certificates[]'); do echo '------'; base64 -d <<< "${i}" | openssl x509 -inform der -noout -issuer -serial done
Добавление сертификатов в журналы СТ обычно выполняется Удостоверяющими Центрами. Если вы хотите поэкспериментировать, начните с получения PEM-зашифрованного сертификата с нашего любимого сайта. Скопируйте и вставьте следующую команду в консоль.
$ echo | \ openssl s_client \ -connect "letsencrypt.org":443 \ -servername "letsencrypt.org" \ -verify_hostname "letsencrypt.org" 2>/dev/null | \ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.crt
Перед отправкой сертификата, его данные необходимо кодировать JSON в специальной структуре. Вы можете использовать генератор JSON, предоставленный https://crt.sh/gen-add-chain, для выполнения этой задачи. Утилита crt.sh возвращает JSON. Загрузите данные на свой компьютер, переименуйте файл, если необходимо, и введите следующую команду для выполнения операции дополнения цепочки (RFC 6962, раздел 4.1), чтобы отправить сертификат в журнал CT. Вывод будет содержать подпись, которая фактически является SCT. Подробнее о подписи в данный момент.
$ curl \ -X POST \ --data @example-json-bundle.json \ -H "Content-Type: application/json" \ -H "User-Agent: lets-encrypt-ct-log-example-1.0" \ https://oak.ct.letsencrypt.org/2020/ct/v1/add-chain {"sct_version":0,"id":"5xLysDd+GmL7jskMYTx6ns3y1YdESZb8+DzS/JBVG4=","timestamp":1576689972016,"extensions":"BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvY1RdSQICXayMJ+
Let's Encrypt отправляет все выданные нами сертификаты для включения в журналы CT. Мы также сами ведём журналы CT и принимаем для включения в них сертификаты, выданные любыми доверенными центрами сертификации.
$ base64 -d <<< "5xLysDd+GmL7jskMYTx6ns3y1YdESZb8+DzS/JBVG4=" | xxd -p -c 64 | sed -e 's/.. &:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E
Используя поле подписи, мы можем проверить, что сертификат был отправлен в журнал. Используя наше Погружение в SCT, вы сможете уточнить это значение.
$ base64 -d <<< "BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E" | xxd -p -c 16 | sed -e 's/.. &:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' 04:03:00:47:30:45:02:21:00:E0:E9:AE:4D:C7:ED:F4 9A:B7:5C:BB:5C:75:9C:FD:5E:29:D7:0A:F6:04:63:54 5D:49:02:02:5D:AC:8C:27:ED:02:20:7B:AE:8E:42:81 format@@2E:33:29:7F:54:6E:82:DF:9E:9E:1C:3F:D8:31:5B 47:5F:80