45 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install -d  /{etc,usr/share}/ca-certificates/trust-source/{anchors,blacklist}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Directories used by update-ca-trust (aka "trust extract-compat")
							 | 
						||
| 
								 | 
							
								install -d  /etc/{ssl/certs/java,ca-certificates/extracted}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Compatibility link for OpenSSL using /etc/ssl as CAdir
							 | 
						||
| 
								 | 
							
								# Used in preference to the individual links in /etc/ssl/certs
							 | 
						||
| 
								 | 
							
								ln -sr "/etc/ca-certificates/extracted/tls-ca-bundle.pem" "/etc/ssl/cert.pem"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Compatiblity link for legacy bundle
							 | 
						||
| 
								 | 
							
								ln -sr "/etc/ca-certificates/extracted/tls-ca-bundle.pem" "/etc/ssl/certs/ca-certificates.crt"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# At this time, while this script is trivial, we ignore any parameters given.
							 | 
						||
| 
								 | 
							
								# However, for backwards compatibility reasons, future versions of this script must
							 | 
						||
| 
								 | 
							
								# support the syntax "update-ca-trust extract" trigger the generation of output
							 | 
						||
| 
								 | 
							
								# files in $DEST.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DEST=/etc/ca-certificates/extracted
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extract() {
							 | 
						||
| 
								 | 
							
								  trust extract --overwrite "$@"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# The directory-format extractors remove all files in the target directory, but not directories or files therein
							 | 
						||
| 
								 | 
							
								extract --format=pem-directory-hash   --filter=ca-anchors --purpose=server-auth  $DEST/cadir
							 | 
						||
| 
								 | 
							
								extract --comment --format=pem-bundle --filter=ca-anchors --purpose=server-auth  $DEST/tls-ca-bundle.pem
							 | 
						||
| 
								 | 
							
								extract --comment --format=pem-bundle --filter=ca-anchors --purpose=email        $DEST/email-ca-bundle.pem
							 | 
						||
| 
								 | 
							
								extract --comment --format=pem-bundle --filter=ca-anchors --purpose=code-signing $DEST/objsign-ca-bundle.pem
							 | 
						||
| 
								 | 
							
								extract --comment --format=openssl-bundle --filter=certificates $DEST/ca-bundle.trust.crt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# We don't want to have to remove everything from the certs directory but neither
							 | 
						||
| 
								 | 
							
								# do we want to leave stale certs around, so symlink it all from somewhere else
							 | 
						||
| 
								 | 
							
								for f in $DEST/cadir/*; do
							 | 
						||
| 
								 | 
							
								  ln -fsr -t /etc/ssl/certs "$f"
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Now find and remove all broken symlinks
							 | 
						||
| 
								 | 
							
								find -L /etc/ssl/certs -maxdepth 1 -type l -delete
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Java bundle
							 | 
						||
| 
								 | 
							
								extract --format=java-cacerts --filter=ca-anchors --purpose=server-auth /etc/ssl/certs/java/cacerts
							 |