update-ca-trust
This commit is contained in:
		
							parent
							
								
									5b5fe59439
								
							
						
					
					
						commit
						f6d05d816d
					
				
					 1 changed files with 44 additions and 0 deletions
				
			
		
							
								
								
									
										44
									
								
								bin/update-ca-trust
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										44
									
								
								bin/update-ca-trust
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					#!/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
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue