rus_mfc-add_deb 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. # скрипт автодобавления сертификатов минцифры в Debian
  3. # author V.Koshuba - 2023(c)
  4. #
  5. # script path
  6. path_script="$(dirname $(readlink --canonicalize-existing "$0"))";
  7. # хост хранения сертификатов - откуда скачиваем
  8. url_gov="https://gu-st.ru/content/lending/";
  9. # сертификаты
  10. cert_gov=( "russian_trusted_sub_ca_pem.crt"
  11. "russian_trusted_root_ca_pem.crt"
  12. );
  13. # certs pool
  14. path_ssl="/etc/ssl/certs";
  15. function addCerts(){
  16. for ((ix = 0; ix != ${#cert_gov[@]}; ix++)); do
  17. if wget -c -t 1 --inet4-only -c -O $path_script/${cert_gov[$ix]} $url_gov/${cert_gov[$ix]}; then
  18. echo "сертификат скачан успешно!";
  19. else
  20. echo "ошибка - сертификат не скачан!..";
  21. exit
  22. fi
  23. if [ "$( echo -e ${cert_gov[$ix]}|wc -m)" != "0" ]; then
  24. cert_name=$(echo -e ${cert_gov[$ix]}|sed 's/\_pem.crt//g');
  25. sudo openssl x509 -in $path_script/${cert_gov[$ix]} -out $path_ssl/$cert_name.pem -outform PEM;
  26. cd $path_ssl;
  27. sudo ln -sf $cert_name.pem $(sudo openssl x509 -in $cert_name.pem -noout -hash).0
  28. sudo chmod 600 $path_ssl/$cert_name.pem;
  29. sudo chown root:root $path_ssl/$cert_name.pem;
  30. cd $path_script;
  31. fi
  32. # для пользователя
  33. eval cert8_db="(" $(find $HOME -type f -name cert8.db -printf '%p\n') ")";
  34. eval cert9_db="(" $(find $HOME -type f -name cert9.db -printf '%p\n') ")";
  35. #
  36. if [ "$(echo -e ${#cert8_db[@]})" != "0" ]; then
  37. for ((i_dm = 0; i_dm != ${#cert8_db[@]}; i_dm++)); do
  38. certdir=$(dirname ${cert8_db[$i_dm]});
  39. sudo certutil -A -n "$cert_name" -t "TCu,Cu,Tu" -i $path_script/${cert_gov[$ix]} -d dbm:$certdir;
  40. done
  41. fi
  42. if [ "$(echo -e ${#cert9_db[@]})" != "0" ]; then
  43. for ((i_dm = 0; i_dm != ${#cert9_db[@]}; i_dm++)); do
  44. certdir=$(dirname ${cert9_db[$i_dm]});
  45. sudo certutil -A -n "$cert_name" -t "TCu,Cu,Tu" -i $path_script/${cert_gov[$ix]} -d sql:$certdir
  46. done
  47. fi
  48. done
  49. sudo update-ca-certificates;
  50. sudo update-ca-certificates --fresh;
  51. #
  52. }
  53. addCerts;