In vielen Fällen braucht man ein Verzeichnis mit vertrauenswürdigen CAs. Damit die ganzen Tools (z.B. Apache httpd, OpenLDAP etc.)
dieses Verzeichnis benutzen können, müssen Links erstellt werden, die einen Hash enthalten. Am besten macht man das mit einem Makefile:

##
## Makefile to keep the hash symlinks in SSLCACertificatePath up to date
## Copyright (c) 1998-2000 Ralf S. Engelschall, All Rights Reserved.
##

SSL_PROGRAM=

update: clean
-@ssl_program="$(SSL_PROGRAM)"; \
if [ ".$$ssl_program" = . ]; then \
for dir in . `echo $$PATH | sed -e 's/:/ /g'`; do \
for program in openssl ssleay; do \
if [ -f "$$dir/$$program" ]; then \
if [ -x "$$dir/$$program" ]; then \
ssl_program="$$dir/$$program"; \
break; \
fi; \
fi; \
done; \
if [ ".$$ssl_program" != . ]; then \
break; \
fi; \
done; \
fi; \
if [ ".$$ssl_program" = . ]; then \
echo "Error: neither 'openssl' nor 'ssleay' program found" 1>&2; \
exit 1; \
fi; \
for file in *.crt; do \
if [ ".`grep SKIPME $$file`" != . ]; then \
echo dummy |\
awk '{ printf("%-15s ... Skipped\n", file); }' \
"file=$$file"; \
else \
n=0; \
while [ 1 ]; do \
hash="`$$ssl_program x509 -noout -hash <$$file`"; \
if [ -r "$$hash.$$n" ]; then \
n=`expr $$n + 1`; \
else \
echo dummy |\
awk '{ printf("%-15s ... %s\n", file, hash); }' \
"file=$$file" "hash=$$hash.$$n"; \
ln -s $$file $$hash.$$n; \
break; \
fi; \
done; \
fi; \
done
chcon -v --type=httpd_config_t .

clean:
-@rm -f [0-9a-fA-F]*.[0-9]*

Quelle: OpenSSL Source Code

Verwendung

Das Makefile muss sich im Verzeichnis mit den Zertifikaten befinden. Dieses Verzeichnis muss auch in der
Anwendung angegeben werden. Das Makefile wird von der Anwendung ignoriert. Aufruf mit make ohne weitere
Parameter. Nach der erfolgreichen Anwendungen sind dann Links mit namen wie z.B. 32b0cb7e.0 zu finden, diese
Links zeigen auf die Files mit den Zertifikaten. Die Zertifikate müssen im PEM Format in Dateien
nach dem Muster <name>.crt vorliegen.