|
|
|
@ -16,6 +16,10 @@ SLOT="0"
|
|
|
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
|
|
|
|
IUSE=""
|
|
|
|
|
|
|
|
|
|
# Зависимости
|
|
|
|
|
RDEPEND="
|
|
|
|
|
ca-certificates/ca-certificates
|
|
|
|
|
"
|
|
|
|
|
RESTRICT="bindist mirror strip"
|
|
|
|
|
|
|
|
|
|
S="${WORKDIR}"
|
|
|
|
@ -38,7 +42,6 @@ src_prepare() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
|
|
|
|
|
|
# Конвертируем DER в PEM
|
|
|
|
|
for k in ${A}; do
|
|
|
|
|
kk=$(basename ${k} .cer);
|
|
|
|
@ -51,50 +54,34 @@ src_install() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
|
if [[ -d "/usr/local/share/ca-certificates" ]] ; then
|
|
|
|
|
# If the user has local certs, we need to rebuild again
|
|
|
|
|
# to include their stuff in the db.
|
|
|
|
|
# However it's too overzealous when the user has custom certs in place.
|
|
|
|
|
# --fresh is to clean up dangling symlinks
|
|
|
|
|
/usr/sbin/update-ca-certificates --root "${ROOT}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
/usr/sbin/update-ca-certificates
|
|
|
|
|
elog Установка корневых сертификатов в /etc/ssl/certs/ выполнено
|
|
|
|
|
|
|
|
|
|
# Установка для браузеров
|
|
|
|
|
# Установка для браузеров
|
|
|
|
|
# Создаём базу nssdb для системы
|
|
|
|
|
mkdir -p /etc/pki/nssdb || die
|
|
|
|
|
|
|
|
|
|
# Создаём базу nssdb для системы
|
|
|
|
|
mkdir -p /etc/pki/nssdb || die
|
|
|
|
|
|
|
|
|
|
nssdir=$(find /home/ -name "cert9.db")
|
|
|
|
|
nssdir+=$'\n/etc/pki/nssdb/cert9.db'
|
|
|
|
|
nssdir=$(find /home/ -name "cert9.db")
|
|
|
|
|
nssdir+=$'\n/etc/pki/nssdb/cert9.db'
|
|
|
|
|
|
|
|
|
|
for certDB in ${nssdir}
|
|
|
|
|
do
|
|
|
|
|
certdir=$(dirname ${certDB});
|
|
|
|
|
for certDB in ${nssdir}
|
|
|
|
|
do
|
|
|
|
|
certdir=$(dirname ${certDB});
|
|
|
|
|
|
|
|
|
|
for k in "${!massiv[@]}"; do
|
|
|
|
|
certutil -A -n "${k}" -t "CTu,Cu,Cu" -i /${CA}/${massiv[$k]} -d sql:${certdir};
|
|
|
|
|
for k in "${!massiv[@]}"; do
|
|
|
|
|
certutil -A -n "${k}" -t "CTu,Cu,Cu" -i /${CA}/${massiv[$k]} -d sql:${certdir};
|
|
|
|
|
elog Установка корневого сертификата \"${k}\" в ${certdir} выполнено
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if [[ -n "$(find -L /etc/ssl/certs/ -type l)" ]] ; then
|
|
|
|
|
ewarn "Removing the following broken symlinks:"
|
|
|
|
|
ewarn "Удалите следующие неработающие символические ссылки с помощью команды:"
|
|
|
|
|
ewarn "$(find -L /etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_prerm() {
|
|
|
|
|
# Удаляем сертификаты
|
|
|
|
|
rm -f /usr/local/share/ca-certificates/${P}_{root,sub}.crt
|
|
|
|
|
|
|
|
|
|
if [[ -d "/usr/local/share/ca-certificates" ]] ; then
|
|
|
|
|
# If the user has local certs, we need to rebuild again
|
|
|
|
|
# to include their stuff in the db.
|
|
|
|
|
# However it's too overzealous when the user has custom certs in place.
|
|
|
|
|
# --fresh is to clean up dangling symlinks
|
|
|
|
|
/usr/sbin/update-ca-certificates --root "${ROOT}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Удаляем сертификаты из nss
|
|
|
|
|
nssdir=$(find /home/ -name "cert9.db")
|
|
|
|
|
nssdir+=$'\n/etc/pki/nssdb/cert9.db'
|
|
|
|
|
|
|
|
|
@ -104,7 +91,15 @@ pkg_prerm() {
|
|
|
|
|
|
|
|
|
|
for k in "${!massiv[@]}"; do
|
|
|
|
|
certutil -D -n "${k}" -d sql:${certdir};
|
|
|
|
|
elog Удаление корневого сертификата \"${k}\" из ${certdir} выполнено
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_postrm() {
|
|
|
|
|
/usr/sbin/update-ca-certificates --fresh
|
|
|
|
|
elog Очистка удалённых корневых сертификата из /etc/ssl/certs/ выполнено
|
|
|
|
|
|
|
|
|
|
# Удаляем файлы сертификатов
|
|
|
|
|
rm -f /usr/local/share/ca-certificates/${P}_{root,sub}.crt
|
|
|
|
|
}
|