Docker images with OpenSSL and Russian GOST crypto algorithms
7.4K
Docker images with OpenSSL and Russian GOST crypto algorithms
This is the Git repo of the for docker-gost Docker images. See the Docker Hub page for the full readme on how to use this Docker image and for information regarding contributing and issues.
To check if GOST ciphers are present, start container:
docker run --rm -it mbrav/docker-gost bash
Inside the container grep the list of available OpenSSL ciphers:
openssl ciphers | tr ":" "\n" | grep GOST
GOST2012-MAGMA-MAGMAOMAC
GOST2012-KUZNYECHIK-KUZNYECHIKOMAC
LEGACY-GOST2012-GOST8912-GOST8912
IANA-GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST89
If you do not see this list, please file an issue.
This is by no means a professional guide, please refer to RFC 4357 for all technical details about GOST algorithms.
mbrav/docker-gost container, create a private key:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out cert.key
The possible parameters for -algorithm are:
gost2001 - To generate a GOST 2001 certificate;gost2012_256 - To generate a GOST 2012 certificate with a key length of 256;gost2012_512 - To generate a GOST 2012 certificate with a key length of 512.The -pkeyopt paramset:A option specifies that you want to use parameter set A, which corresponds to a particular curve. Different parameter sets (curves) may offer different levels of security and performance.
Keep in mind that GOST 2001 is a bit different from traditional key-based algorithms in this regard. You choose a parameter set (curve) based on your security requirements, and the key pair is generated accordingly. There isn't a direct control over "key length" as in some other algorithms.
Based on v3.0.2 version of gost-engine, there are three Parameter sets for the gost2001 algorithm:
ecp_id_GostR3410_2001_CryptoPro_A_ParamSetecp_id_GostR3410_2001_CryptoPro_B_ParamSetecp_id_GostR3410_2001_CryptoPro_C_ParamSetopenssl req -new -key cert.key -out cert.csr \
-subj "/C=RU/ST=Moscow_Olast/L=Moscow/O=Big_Brother_LTD/OU=IT/CN=bigbrother.ru/[email protected]"
openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.pem
This command will create a self-signed certificate valid for 365 days.
openssl x509 -in cert.pem -text -noout
The mbrav/docker-gost repository is tagged with the following scheme where x.x.x is the OpenSSL version and y.y.y is the nginx version:
latest, bookworm, bookworm-x.x.xbookworm-nginx, bookworm-nginx-x.x.x, bookworm-nginx-x.x.x-y.y.y, nginx, nginx-x.x.x, nginx-x.x.x-y.y.yalpine, alpine-x.x.xSee data.json metadata file for actual information.
openssl with GOST crypto algorithms (gost-engine). Docker images are available at mbav/docker-gost and are automatically built and uploaded to Docker Hub using GitHub actions.Please see the contributing guide for guidelines on how to best contribute to this project.
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
© mbrav 2023
Content type
Image
Digest
sha256:04d2c1589…
Size
64.4 MB
Last updated
29 days ago
docker pull mbrav/docker-gost:nginx-3.6.1-1.29.0