Network Analysis
Минималистичный инструмент и библиотека на C99 для генерации X.509 сертификатов и CSR. Использует BearSSL для декодирования ключей и вычисления подписей. Не выполняет динамических аллокаций, использует только несколько libc-функций. …
Установка
# Требования: BearSSL (libbearssl), C99 компилятор
git clone https://git.sr.ht/~mcf/x509cert
cd x509cert
make
sudo make install
# Создать самоподписанный сертификат (нужен ключ)
# Генерация ECDSA P-256 ключа (через openssl)
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out server.key
# Выдать сертификат с SAN
x509cert -a DNS:c2.example.com -a IP:192.168.1.100 -d 365 server.key "CN=c2.example.com" > server.crt
# Генерация CSR
x509cert -r -a DNS:client.local server.key "CN=client" > client.csr
# Выдать клиентский сертификат подписав CSR CA-ключом
x509cert -c ca.crt -k ca.key -d 90 client.key "CN=pentest-client" > client.crt
# Опции:
# -r -- генерировать CSR (PKCS#10), не сертификат
# -a altname -- добавить SAN (DNS:host или IP:addr)
# -c cert -- сертификат издателя (CA)
# -k key -- ключ издателя (CA key)
# -d days -- срок действия в днях
# -s serial -- серийный номер