File: osslsigncode.bash

package info (click to toggle)
osslsigncode 2.9-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,148 kB
  • sloc: ansic: 11,997; python: 939; sh: 74; makefile: 12
file content (76 lines) | stat: -rw-r--r-- 2,467 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# bash completion for osslsigncode                         -*- shell-script -*-
# Copyright (C) 2021-2022 Michał Trojnara <Michal.Trojnara@stunnel.org>
# Author: Małgorzata Olszówka <Malgorzata.Olszowka@stunnel.org>

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'
COMP_WORDBREAKS=${COMP_WORDBREAKS//:}

_comp_cmd_osslsigncode()
{
    local cur prev words cword
    _init_completion || return

    local commands command options timestamps rfc3161

    commands="--help --version -v
        sign add attach-signature extract-signature remove-signature verify"

    timestamps="http://timestamp.digicert.com
        http://time.certum.pl
        http://timestamp.sectigo.com
        http://timestamp.globalsign.com/?signature=sha2"

    rfc3161="http://timestamp.digicert.com
        http://time.certum.pl
        http://timestamp.entrust.net/TSS/RFC3161sha2TS
        http://tss.accv.es:8318/tsa
        http://kstamp.keynectis.com/KSign/
        http://sha256timestamp.ws.symantec.com/sha256/timestamp"


    if ((cword == 1)); then
        COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
    else
        command=${words[1]}
        case $prev in
            -ac | -c | -catalog | -certs | -spc | -key | -pkcs12 | -pass | \
            -readpass | -pkcs11engine | -pkcs11module | -in | -out | -sigin | \
            -n | -CAfile | -CRLfile  | -TSA-CAfile | -TSA-CRLfile)
                _filedir
                return
                ;;
            -h | -require-leaf-hash)
                COMPREPLY=($(compgen -W 'md5 sha1 sha2 sha256 sha384 sha512' \
                    -- "$cur"))
                return
                ;;
            -jp)
                COMPREPLY=($(compgen -W 'low medium high' -- "$cur"))
                return
                ;;
            -t)
                COMPREPLY=($(compgen -W "${timestamps}" -- "$cur"))
                return
                ;;
            -ts)
                COMPREPLY=($(compgen -W "${rfc3161}" -- "$cur"))
                return
                ;;
            -i | -p)
                _known_hosts_real -- "$cur"
                return
                ;;
        esac

        if [[ $cur == -* ]]; then
            # possible options for the command
            options=$(_parse_help "$1" "$command --help" 2>/dev/null)
            COMPREPLY=($(compgen -W "${options}" -- ${cur}))
        fi
    fi

} &&
    complete -F _comp_cmd_osslsigncode osslsigncode

# ex: filetype=sh