Kai Engert d538ada
#!/bin/sh
Kai Engert d538ada
Kai Engert d538ada
#set -vx
Kai Engert d538ada
Kai Engert 9ac574b
# At this time, while this script is trivial, we ignore any parameters given.
Kai Engert 9ac574b
# However, for backwards compatibility reasons, future versions of this script must 
Kai Engert 9ac574b
# support the syntax "update-ca-trust extract" trigger the generation of output 
Kai Engert 9ac574b
# files in $DEST.
Kai Engert 9ac574b
Kai Engert d538ada
DEST=/etc/pki/ca-trust/extracted
Kai Engert d538ada
Kai Engert 7a69d0d
# Prevent p11-kit from reading user configuration files.
Kai Engert 7a69d0d
export P11_KIT_NO_USER_CONFIG=1
Kai Engert 7a69d0d
Kai Engert d538ada
# OpenSSL PEM bundle that includes trust flags
Kai Engert d538ada
# (BEGIN TRUSTED CERTIFICATE)
Kai Engert f0b0be2
/usr/bin/p11-kit extract --format=openssl-bundle --filter=certificates --overwrite --comment $DEST/openssl/ca-bundle.trust.crt
Kai Engert f0b0be2
/usr/bin/p11-kit extract --format=pem-bundle --filter=ca-anchors --overwrite --comment --purpose server-auth $DEST/pem/tls-ca-bundle.pem
Kai Engert f0b0be2
/usr/bin/p11-kit extract --format=pem-bundle --filter=ca-anchors --overwrite --comment --purpose email $DEST/pem/email-ca-bundle.pem
Kai Engert f0b0be2
/usr/bin/p11-kit extract --format=pem-bundle --filter=ca-anchors --overwrite --comment --purpose code-signing $DEST/pem/objsign-ca-bundle.pem
Kai Engert d538ada
/usr/bin/p11-kit extract --format=java-cacerts --filter=ca-anchors --overwrite --purpose server-auth $DEST/java/cacerts
6220683
/usr/bin/p11-kit extract --format=edk2-cacerts --filter=ca-anchors --overwrite --purpose=server-auth $DEST/edk2/cacerts.bin
1c8b67f
# Hashed directory of BEGIN TRUSTED-style certs (usable as OpenSSL CApath and
1c8b67f
# by GnuTLS)
1c8b67f
/usr/bin/p11-kit extract --format=pem-directory-hash --filter=ca-anchors --overwrite --purpose server-auth $DEST/pem/directory-hash
1c8b67f
# Debian compatibility: their /etc/ssl/certs has this bundle
1c8b67f
/usr/bin/ln -s ../tls-ca-bundle.pem $DEST/pem/directory-hash/ca-certificates.crt
1c8b67f
# Backwards compatibility: RHEL/Fedora provided a /etc/ssl/certs/ca-bundle.crt
1c8b67f
# since https://bugzilla.redhat.com/show_bug.cgi?id=572725
1c8b67f
/usr/bin/ln -s ../tls-ca-bundle.pem $DEST/pem/directory-hash/ca-bundle.crt
1c8b67f