(https://hub.docker.com/r/srvimgdev/openssl)
scratch (абсолютно пустой базовый слой).sh, bash), пакетного менеджера (apk, apt) или лишних файлов. Поверхность атаки сведена к минимуму.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 напрямую.
docker run --rm srvimgdev/openssl:latest /usr/local/ssl/bin/openssl version
Совет: Если вы добавили
ENTRYPOINT ["/usr/local/ssl/bin/openssl"]в Dockerfile, то путь к бинарнику указывать не нужно, просто пишите аргументы (например,version).
Чтобы сохранить сгенерированные ключи на хост-машине, обязательно используйте монтирование томов (-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"
docker run --rm srvimgdev/openssl:latest \
/usr/local/ssl/bin/openssl s_client -connect google.com:443
При использовании Git Bash, Docker может некорректно преобразовывать пути (например, превращая /usr/local/... в C:/Program Files/Git/usr/...).
Если вы получаете ошибку OCI runtime create failed ... no such file or directory, используйте один из следующих методов:
//usr/local/ssl/bin/openssl вместо одного слэша.export MSYS_NO_PATHCONV=1.Пример для Git Bash:
docker run --rm srvimgdev/openssl:latest //usr/local/ssl/bin/openssl version
OpenSSL лицензируется под Apache License 2.0. Этот образ предоставляется "как есть".
Content type
Image
Digest
sha256:428c37fb4…
Size
3.5 MB
Last updated
3 months ago
docker pull srvimgdev/openssl:3.5.7