paste -d'\n' <(uniq -f2 input.txt) <(tac input.txt | uniq -f2 | tac) | uniq
awk '
$3$4 == prev {
buf = $0 ORS
}
$3$4 != prev {
print buf $0
prev = $3$4
buf = ""
}
END {
printf("%s", buf)
}' input.txt
Entrada (complicada para probar)
2018-05-24 23:57:30 1.1.1.1 8.8.4.4
2018-05-24 23:57:32 2.2.2.2 8.8.4.4
2018-05-24 23:58:12 8.8.8.8 8.8.4.4
2018-05-24 23:58:23 8.8.8.8 8.8.4.4
2018-05-24 23:59:40 8.8.8.8 8.8.4.4
2018-05-24 23:59:51 8.8.8.8 8.8.4.4
2018-05-25 00:18:12 8.8.1.8 8.8.4.4
2018-05-25 00:18:23 8.8.1.8 8.8.4.4
2018-05-25 00:19:40 8.8.1.8 8.8.4.4
2018-05-25 00:19:51 8.8.1.8 8.8.4.4
2018-05-25 00:39:51 8.8.2.8 8.8.4.4
2018-05-25 00:49:52 8.8.2.8 8.8.4.4
2018-05-25 00:59:51 8.8.2.8 8.8.4.4
Salida (ambas variantes)
2018-05-24 23:57:30 1.1.1.1 8.8.4.4
2018-05-24 23:57:32 2.2.2.2 8.8.4.4
2018-05-24 23:58:12 8.8.8.8 8.8.4.4
2018-05-24 23:59:51 8.8.8.8 8.8.4.4
2018-05-25 00:18:12 8.8.1.8 8.8.4.4
2018-05-25 00:19:51 8.8.1.8 8.8.4.4
2018-05-25 00:39:51 8.8.2.8 8.8.4.4
2018-05-25 00:59:51 8.8.2.8 8.8.4.4
Я точно не знаю, о чем вы спрашиваете, но приведенные ниже шаги мне подходят. Я включаю «ca trust», копирую файл, извлекаю и затем проверяю.
$ update-ca-trust enable
$ cp ZScalar.pem /etc/pki/ca-trust/source/anchors/
cp: overwrite ‘/etc/pki/ca-trust/source/anchors/ZScalar.pem’? yes
$ update-ca-trust extract
$ openssl verify ZScalar.crt
ZScalar.crt: OK
Если эти действия не помогли, опубликуйте вывод команды «openssl verify», и я смогу дать вам дальнейшие указания.
Чтобы добавить к этому, извлеченные сертификаты идут в «/etc/pki/ca -trust/extracted/openssl» или «/etc/pki/ca -trust/extracted/pem».
TL;DR
update-ca-trust
не извлечет ваш файл сертификата в ca-bundle.crt
, если это не удастся:
openssl x509 -noout -text -in <cert_file> | grep --after-context=2 "X509v3 Basic Constraints" | grep "CA:TRUE"
Я потратил на это несколько часов. Его корень находился в расширении X.509 под названием Basic Constraints , которое используется для обозначения того, принадлежит ли сертификат ЦС или нет.
Мои скромные выводы:
update-ca-bundle
на самом деле представляет собой сценарий оболочки, поэтому его легко заглянуть внутрь p11-kit
несколько раз, каждый раз используя разные фильтры и создавая разные файлы пакетов. ca-bundle.crt
на самом деле является ссылкой из файла tls-ca-bundle.pem
, который генерируется p11-kit
с использованием фильтра ca-anchors
. Таким образом, он игнорирует все сертификаты, кроме «CA». openssl x509 -noout -text -in <cert_file>
p11-kit
и не будет экспортирован в нужный ca-bundle.crt
файл.Не стесняйтесь исправлять это в комментариях.
1.получить сертификат
openssl x509 -in ca.crt -noout -text |grep -i "issue"
вывод, как показано ниже:
Issuer: CN=something_strings
2. найти проблему в /etc/pki/tls/certs/ca -bundle.crt
grep -i "something_strings" /etc/pki/tls/certs/ca-bundle.crt
вывод, как показано ниже:
something_strings
Если вы можете получить результат, ваши сертификаты успешно добавлены.
Вам необходимо перезагрузить сервер, чтобы изменения вступили в силу.
В моем случае это было просто потому, что я не использовалsudo
Скопируйте сертификат ЦС в /etc/pki/ca-trust/source/anchors
, затем вызовите приведенную ниже команду
sudo update-ca-trust extract
После этой проверки код выхода должен быть 0
echo $?
ИЛИ имя сертификата ЦС grep в файле ниже для подтверждения
cat /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem | grep "CA-cert-name"