80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | 
						|
 | 
						|
function display_help() {
 | 
						|
    uecho "$scriptname: signer les jars d'un bundle
 | 
						|
 | 
						|
USAGE
 | 
						|
    $scriptname <app.woa|fwk.framework>
 | 
						|
 | 
						|
OPTIONS
 | 
						|
    -f  Forcer la (re)signature des jars
 | 
						|
    -d  Enlever la signature des jars originaux
 | 
						|
    -s  Signer les jar du bundle [PAR DEFAUT]
 | 
						|
    --init
 | 
						|
        Initialiser les fichiers de configuration pour la signature des bundles."
 | 
						|
}
 | 
						|
 | 
						|
source "$(dirname "$0")/ulib/ulib" &&
 | 
						|
urequire DEFAULTS prefixes apache webobjects wosign ||
 | 
						|
exit 1
 | 
						|
 | 
						|
sign=
 | 
						|
unsign=
 | 
						|
resign=
 | 
						|
init=
 | 
						|
default=1
 | 
						|
parse_opts "${PRETTYOPTS[@]}" \
 | 
						|
    --help '$exit_with display_help' \
 | 
						|
    -f resign=1 \
 | 
						|
    -d '$default=; unsign=1' \
 | 
						|
    -s '$default=; sign=1' \
 | 
						|
    --init '$default=; init=1' \
 | 
						|
    @ args -- "$@" && set -- "${args[@]}" || die "$args"
 | 
						|
 | 
						|
[ -n "$default" ] && sign=1
 | 
						|
 | 
						|
compute_apache_prefixes
 | 
						|
compute_webobjects_prefixes
 | 
						|
 | 
						|
create_wodirs_maybe
 | 
						|
 | 
						|
if [ -n "$init" ]; then
 | 
						|
    wosign_setup_maybe
 | 
						|
    mkdir -p "$WOSIGN_CONFDIR"
 | 
						|
    echo "# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | 
						|
 | 
						|
# chemin complet vers le keystore qui convient la clé utilisée pour signer les
 | 
						|
# jars
 | 
						|
keystore=
 | 
						|
# mot de passe pour accéder à la clé dans le keystore
 | 
						|
storepass=
 | 
						|
# alias de la clé dans le keystore
 | 
						|
keyalias=" >"$WOSIGN_CONF" &&
 | 
						|
    chmod 644 "$WOSIGN_CONF" &&
 | 
						|
    ewarn "Le fichier
 | 
						|
    $(ppath "$WOSIGN_CONF")
 | 
						|
a été créé avec les droits 644.
 | 
						|
Vérifiez les autorisations pour protéger ce fichier des accès inapropriés."
 | 
						|
 | 
						|
else
 | 
						|
    [ -n "$1" ] || die "Il faut spécifier le bundle à signer"
 | 
						|
    wosign_setup_maybe || die "Pour pouvoir signer les jars, il faut installer la configuration des signatures
 | 
						|
dans $WOCONFIGURATION/Signatures
 | 
						|
Essayer avec l'option --init"
 | 
						|
 | 
						|
    for bundle in "$@"; do
 | 
						|
        if reason="$(wosignable "$bundle")"; then
 | 
						|
            if [ -f "$bundle" ]; then
 | 
						|
                etitle -s "Signature de $(ppath "$bundle")"
 | 
						|
            else
 | 
						|
                etitle -s "Signature des jars de $(ppath "$bundle")"
 | 
						|
            fi
 | 
						|
            wosign ${sign:+-s }${unsign:+-d }${resign:+-f }"$bundle"
 | 
						|
            eend
 | 
						|
        else
 | 
						|
        die "Impossible de signer les jars pour $(ppath "$bundle"): $reason"
 | 
						|
        fi
 | 
						|
    done
 | 
						|
fi
 |