mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['crypto-and-stego/certificates.md'] to ua
This commit is contained in:
parent
35dfa4bc5a
commit
cd82bc1833
1 changed files with 23 additions and 4 deletions
|
@ -36,7 +36,7 @@
|
|||
У сертифікатах x509 кілька **полів** відіграють критичну роль у забезпеченні дійсності та безпеки сертифіката. Ось розподіл цих полів:
|
||||
|
||||
* **Номер версії** позначає версію формату x509.
|
||||
* **Серійний номер** унікально ідентифікує сертифікат у системі сертифікаційного центру (CA), головним чином для відстеження анулювання.
|
||||
* **Серійний номер** унікально ідентифікує сертифікат у системі сертифікаційного центру (CA), головним чином для відстеження відкликання.
|
||||
* Поле **Суб'єкт** представляє власника сертифіката, яким може бути машина, особа або організація. Воно містить детальну ідентифікацію, таку як:
|
||||
* **Загальна назва (CN)**: домени, охоплені сертифікатом.
|
||||
* **Країна (C)**, **Місцевість (L)**, **Штат або провінція (ST, S або P)**, **Організація (O)** та **Організаційна одиниця (OU)** надають географічні та організаційні деталі.
|
||||
|
@ -44,7 +44,7 @@
|
|||
* **Видавець** вказує, хто перевірив і підписав сертифікат, включаючи подібні підполя, як у Суб'єкта для CA.
|
||||
* **Період дійсності** позначається часовими мітками **Не раніше** та **Не пізніше**, що забезпечує, щоб сертифікат не використовувався до або після певної дати.
|
||||
* Розділ **Публічний ключ**, критично важливий для безпеки сертифіката, вказує алгоритм, розмір та інші технічні деталі публічного ключа.
|
||||
* **Розширення x509v3** покращують функціональність сертифіката, вказуючи **Використання ключа**, **Розширене використання ключа**, **Альтернативне ім'я суб'єкта** та інші властивості для точного налаштування застосування сертифіката.
|
||||
* **Розширення x509v3** покращують функціональність сертифіката, вказуючи **Використання ключа**, **Розширене використання ключа**, **Альтернативне ім'я суб'єкта** та інші властивості для тонкої настройки застосування сертифіката.
|
||||
|
||||
#### **Використання ключа та розширення**
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
|||
* **Розширене використання ключа** ще більше звужує випадки використання сертифіката, наприклад, для аутентифікації сервера TLS.
|
||||
* **Альтернативне ім'я суб'єкта** та **Основна обмеження** визначають додаткові імена хостів, охоплені сертифікатом, та чи є це сертифікатом CA або кінцевого суб'єкта відповідно.
|
||||
* Ідентифікатори, такі як **Ідентифікатор ключа суб'єкта** та **Ідентифікатор ключа авторитету**, забезпечують унікальність та відстежуваність ключів.
|
||||
* **Доступ до інформації про авторитет** та **Точки розподілу CRL** надають шляхи для перевірки видавця CA та перевірки статусу анулювання сертифіката.
|
||||
* **Доступ до інформації про авторитет** та **Точки розподілу CRL** надають шляхи для перевірки видавця CA та перевірки статусу відкликання сертифіката.
|
||||
* **SCT сертифікатів CT** пропонують журнали прозорості, критично важливі для публічної довіри до сертифіката.
|
||||
```python
|
||||
# Example of accessing and using x509 certificate fields programmatically:
|
||||
|
@ -109,7 +109,7 @@ print(f"Public Key: {public_key}")
|
|||
### **DER Формат**
|
||||
|
||||
* Бінарний формат сертифікатів.
|
||||
* Не містить "BEGIN/END CERTIFICATE" заяв, які є у PEM файлах.
|
||||
* Не містить заяв "BEGIN/END CERTIFICATE", які є у файлах PEM.
|
||||
* Загальні розширення: .cer, .der.
|
||||
* Часто використовується з платформами Java.
|
||||
|
||||
|
@ -173,6 +173,25 @@ openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
|
|||
```bash
|
||||
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
|
||||
```
|
||||
* **Редагування ASN.1 (DER/PEM)** (працює з сертифікатами або майже будь-якою іншою структурою ASN.1):
|
||||
1. Клонуйте [asn1template](https://github.com/wllm-rbnt/asn1template/)
|
||||
```bash
|
||||
git clone https://github.com/wllm-rbnt/asn1template.git
|
||||
```
|
||||
2. Перетворення DER/PEM у формат генерації OpenSSL
|
||||
```bash
|
||||
asn1template/asn1template.pl certificatename.der > certificatename.tpl
|
||||
asn1template/asn1template.pl -p certificatename.pem > certificatename.tpl
|
||||
```
|
||||
3. Відредагуйте certificatename.tpl відповідно до ваших вимог
|
||||
```bash
|
||||
vim certificatename.tpl
|
||||
```
|
||||
4. Відновіть модифікований сертифікат
|
||||
```bash
|
||||
openssl asn1parse -genconf certificatename.tpl -out certificatename_new.der
|
||||
openssl asn1parse -genconf certificatename.tpl -outform PEM -out certificatename_new.pem
|
||||
```
|
||||
***
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||
|
|
Loading…
Reference in a new issue