Skip to content

Instantly share code, notes, and snippets.

@knopki
Last active March 7, 2024 10:30
Show Gist options
  • Select an option

  • Save knopki/94b3cf64a614eac9dfb47bc0b214c420 to your computer and use it in GitHub Desktop.

Select an option

Save knopki/94b3cf64a614eac9dfb47bc0b214c420 to your computer and use it in GitHub Desktop.
Контейнер для запуска КриптоПро и ГОСТ-браузера для работы с ЭЦП РуТокен

Контейнер для запуска всякого КриптоПро говна с сертификатом мужика-по-середине.

На хостовой машине надо настроить pcscd.

Надо посмотреть в Containerfile и скачать дистрибутив КриптоПро, разархивирвать его сюда.

Собрать образ: podman build -t localhost/gosbrowser .

Сделать дистробокс-контейнер: distrobox-create --image localhost/gosbrowser --name gosbrowser -H /home/sk/dev/knopki/gosbrowser/home --unshare-ipc --unshare-process --unshare-devsys --volume /run/pcscd/pcscd.comm:/run/pcscd/pcscd.comm --additional-flags --shm-size="1gb"

Войти в контейнер: distrobox enter gosbrowser. Запустить chromium-gost и наслаждаться простой жизнью законопослушного гражданина.

FROM quay.io/toolbx/ubuntu-toolbox:22.04
ENV DEBIAN_FRONTEND noninteractive
ENV PATH="${PATH}:/opt/cprocsp/bin/amd64/"
RUN apt update && \
apt install -y whiptail libccid libpcsclite1 pcscd pcsc-tools opensc
#
# CryptoPro
#
ARG PKCS11LIB_URL=https://download.rutoken.ru/Rutoken/PKCS11Lib/2.13.0.0/Linux/x64/librtpkcs11ecp_2.13.0.0-1_amd64.deb
# Downloaded and extracted from https://www.cryptopro.ru/fns_experiment (linux-amd64_deb.tgz)
ADD linux-amd64_deb /dist
RUN cd /dist && \
wget $PKCS11LIB_URL -O lib.deb && apt install -y ./lib.deb && rm lib.deb && \
./install.sh \
cprocsp-cptools-gtk \
cprocsp-curl \
cprocsp-pki-cades \
cprocsp-pki-plugin \
cprocsp-rdr-cloud \
cprocsp-rdr-cpfkc \
cprocsp-rdr-cryptoki \
cprocsp-rdr-edoc \
cprocsp-rdr-emv \
cprocsp-rdr-esmart \
cprocsp-rdr-gui-gtk \
cprocsp-rdr-infocrypt \
cprocsp-rdr-inpaspot \
cprocsp-rdr-kst \
cprocsp-rdr-mskey \
cprocsp-rdr-novacard \
cprocsp-rdr-pcsc \
cprocsp-rdr-rosan \
cprocsp-rdr-rutoken \
cprocsp-stunnel \
lsb-cprocsp-base \
lsb-cprocsp-ca-certs \
lsb-cprocsp-capilite \
lsb-cprocsp-import-ca-certs \
lsb-cprocsp-kc1 \
lsb-cprocsp-pkcs11 \
lsb-cprocsp-rdr
ARG KONTUR_DIAG_URL=https://api.kontur.ru/drive/v1/public/diag/files/diag.plugin_amd64.001815.deb
ARG KONTUR_PLUG_URL=https://api.kontur.ru/drive/v1/public/diag/files/kontur.plugin.001833.deb
ARG IFCP_URL=https://ds-plugin.gosuslugi.ru/plugin/upload/assets/distrib/IFCPlugin-x86_64.deb
ARG RUTOKEN_PLUG_URL=https://download.rutoken.ru/Rutoken_Plugin/4.8.0.0/Linux/libnpRutokenPlugin_4.8.0-1_amd64.deb
ARG CHROME_URL=https://github.com/deemru/Chromium-Gost/releases/download/122.0.6261.94/chromium-gost-122.0.6261.94-linux-amd64.deb
RUN cd /dist && \
wget $KONTUR_DIAG_URL -O kontur_diag.deb && \
wget $KONTUR_PLUG_URL -O kontur_plug.deb && \
wget $IFCP_URL -O ifcp.deb && \
wget $RUTOKEN_PLUG_URL -O rutoken.deb && \
wget $CHROME_URL -O chrome.deb && \
apt install -y \
./kontur_diag.deb \
./kontur_plug.deb \
./ifcp.deb \
./rutoken.deb \
./chrome.deb && \
rm kontur_diag.deb ./kontur_plug.deb ifcp.deb rutoken.deb chrome.deb
COPY policy.json /etc/chromium/policies/managed/
#
# Certificates
#
RUN mkdir -p /usr/local/share/ca-certificates/russian-trusted && \
wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt \
-O /usr/local/share/ca-certificates/russian-trusted/russian_trusted_root_ca_pem.crt && \
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt \
-O /usr/local/share/ca-certificates/russian-trusted/russian_trusted_sub_ca_pem.crt && \
update-ca-certificates
CMD ["bash"]
{
"ExtensionInstallForcelist": [
"momffihklfhkoakghidmkdocdkbfmoac",
"iifchhfnnmpdbibifmljnfjhpififfog",
"pbefkdcndngodfeigfdgiodgnmbgcfha"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment