Sign inSign up

srvimgdev/openssl

By srvimgdev

•Updated 3 months ago

Image
0

170

srvimgdev/openssl repository overview

(https://hub.docker.com/r/srvimgdev/openssl⁠)

⁠Особенности (Features)

  • 🏗 Base: scratch (абсолютно пустой базовый слой).
  • 📦 Binary: Полностью статический бинарный файл (no shared libs).
  • 🛡 Security: В образе нет оболочки (sh, bash), пакетного менеджера (apk, apt) или лишних файлов. Поверхность атаки сведена к минимуму.
  • 🚀 Size: Экстремально маленький размер (только бинарник и конфиги).
  • ⚙️ Configuration: Включены стандартные openssl.cnf, ct_log_list.cnf и сертификаты CA.

⁠Структура образа

Файловая система содержит только необходимое для работы:

  • /usr/local/ssl/bin/openssl — Исполняемый файл.
  • /usr/local/ssl/openssl.cnf — Основной конфиг.
  • /usr/local/ssl/certs — Директория для сертификатов.
  • /usr/local/ssl/private — Директория для приватных ключей.

⁠Как использовать

Так как образ не содержит sh, вы не можете войти внутрь контейнера (docker exec -it ... sh работать не будет). Вы должны запускать команды OpenSSL напрямую.

⁠1. Проверка версии
docker run --rm srvimgdev/openssl:latest /usr/local/ssl/bin/openssl version

Совет: Если вы добавили ENTRYPOINT ["/usr/local/ssl/bin/openssl"] в Dockerfile, то путь к бинарнику указывать не нужно, просто пишите аргументы (например, version).

⁠2. Генерация ключей (Работа с файлами)

Чтобы сохранить сгенерированные ключи на хост-машине, обязательно используйте монтирование томов (-v), так как файлы внутри контейнера исчезнут после завершения работы.

Пример: Генерация приватного ключа 2048 бит

docker run --rm -v $(pwd):/work -w /work \
  srvimgdev/openssl:latest \
  /usr/local/ssl/bin/openssl genrsa -out private.key 2048

Пример: Создание CSR (Certificate Signing Request)

docker run --rm -v $(pwd):/work -w /work \
  srvimgdev/openssl:latest \
  /usr/local/ssl/bin/openssl req -new -key private.key -out request.csr \
  -subj "/C=US/ST=State/L=City/O=Organization/CN=example.com"
⁠3. Проверка SSL соединения (Client)
docker run --rm srvimgdev/openssl:latest \
  /usr/local/ssl/bin/openssl s_client -connect google.com:443

⁠⚠️ Важно для пользователей Windows (Git Bash)

При использовании Git Bash, Docker может некорректно преобразовывать пути (например, превращая /usr/local/... в C:/Program Files/Git/usr/...).

Если вы получаете ошибку OCI runtime create failed ... no such file or directory, используйте один из следующих методов:

  1. Двойной слэш: Используйте //usr/local/ssl/bin/openssl вместо одного слэша.
  2. Отключение конвертации: Перед командой выполните export MSYS_NO_PATHCONV=1.

Пример для Git Bash:

docker run --rm srvimgdev/openssl:latest //usr/local/ssl/bin/openssl version

⁠Лицензия

OpenSSL лицензируется под Apache License 2.0⁠. Этот образ предоставляется "как есть".

Tag summary

Content type

Image

Digest

sha256:428c37fb4…

Size

3.5 MB

Last updated

3 months ago

docker pull srvimgdev/openssl:3.5.7