File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/cryptsetup.zip
Back
PK ��ZYB�Xt t scripts/decrypt_openscnu ȯ�� #!/bin/sh # Why not use "openct-tool rwait" instead of polling opensc-tool exit status? # Well openct daemon has to be running which interferes with pcscd since both # implement reader drivers, my particular CCID reader (SCM SCR331-LC1) doesn't # work with the CCID driver in openct, however it does work with pcscd. # Why not use "opensc-tool --wait" instead of polling opensc-tool exit status? # Although opensc-tool --help reports that there is a --wait option, it doesn't # seem to be implemented. check_card() { cardfound=0 if /usr/bin/opensc-tool -n >/dev/null 2>&1; then cardfound=1 fi } wait_card() { check_card if [ $cardfound = 0 ] ; then echo "Waiting for Smart Card..." >&2 tries=0 while [ $cardfound = 0 ] && [ $tries -lt 60 ] ; do sleep 1 check_card tries=$(($tries + 1)) done if [ $cardfound = 0 ] ; then echo 'Failed to find Smart Card card!' >&2 exit 1 fi fi } wait_card if [ -x /bin/plymouth ] && plymouth --ping; then # Get pin number from plymouth /usr/bin/pkcs15-crypt --decipher --input "$1" --pkcs1 --raw \ --pin "$(plymouth ask-for-password --prompt "Enter pin for $CRYPTTAB_NAME: ")" else # Get pin number from console /usr/bin/pkcs15-crypt --decipher --input "$1" --pkcs1 --raw </dev/console 2>/dev/console fi exit $? PK ��Z$��=� � scripts/decrypt_keyctlnu ȯ�� #!/bin/sh # decrypt_keyctl - to use in /etc/crypttab as keyscript # Allows to cache passwords for cryptdevices for 60s # The same password is used for for cryptdevices with the same identifier. # The keyfile parameter, which is the third field from /etc/crypttab, is # used as identifier in this keyscript. # # sample crypttab entries: # test1 /dev/sda1 test_pw luks,keyscript=decrypt_keyctl # test2 /dev/sda2 test_pw luks,keyscript=decrypt_keyctl # test3 /dev/sda3 test_other_pw luks,keyscript=decrypt_keyctl # # test1 and test2 have the same identifier thus test2 does not need a password # typed in manually die() { echo "$@" >&2 exit 1 } if [ -z "${CRYPTTAB_KEY:-}" ] || [ "$CRYPTTAB_KEY" = "none" ]; then # store the passphrase in the key name used by systemd-ask-password ID_="cryptsetup" else # the keyfile given from crypttab is used as identifier in the keyring # including the prefix "cryptsetup:" ID_="cryptsetup:$CRYPTTAB_KEY" fi TIMEOUT_='60' ASKPASS_='/lib/cryptsetup/askpass' PROMPT_="Caching passphrase for ${CRYPTTAB_NAME}: " if ! KID_="$(keyctl search @u user "$ID_" 2>/dev/null)" || \ [ -z "$KID_" ] || [ "$CRYPTTAB_TRIED" -gt 0 ]; then # key not found or wrong, ask the user KEY_="$($ASKPASS_ "$PROMPT_")" || die "Error executing $ASKPASS_" if [ -n "$KID_" ]; then # I have cached wrong password and now i may use either `keyctl update` # to update $KID_ or just unlink old key, and add new. With `update` i # may hit "Key has expired", though. So i'll go "unlink and add" way. keyctl unlink "$KID_" @u KID_="" fi KID_="$(printf "%s" "$KEY_" | keyctl padd user "$ID_" @u)" [ -n "$KID_" ] || die "Error adding passphrase to kernel keyring" if ! keyctl timeout "$KID_" "$TIMEOUT_"; then keyctl unlink "$KID_" @u die "Error setting timeout on key ($KID_), removing" fi else echo "Using cached passphrase for ${CRYPTTAB_NAME}." >&2 fi keyctl pipe "$KID_" PK ��Z�(sR R scripts/decrypt_derivednu ȯ�� #!/bin/sh # WARNING: If you use the decrypt_derived keyscript for devices with # persistent data (i.e. not swap or temp devices), then you will lose # access to that data permanently if something damages the LUKS header # of the LUKS device you derive from. The same applies if you luksFormat # the device, even if you use the same passphrase(s). A LUKS header # backup, or better a backup of the data on the derived device may be # a good idea. See the Cryptsetup FAQ on how to do this right. if [ -z "$1" ]; then echo "$0: must be executed with a crypto device as argument" >&2 exit 1 fi unset -v keys count keys="$(dmsetup table --target crypt --showkeys -- "$1" 2>/dev/null | cut -s -d' ' -f5)" count="$(printf '%s' "$keys" | wc -l)" if [ -n "$keys" ] && [ $count -le 1 ]; then if [ "${keys#:}" = "$keys" ]; then printf '%s' "$keys" exit 0 else echo "$0: device $1 uses the kernel keyring" >&2 fi elif [ $count -eq 0 ]; then echo "$0: device $1 doesn't exist or isn't a crypto device" >&2 else echo "$0: more than one device match" >&2 fi exit 1 PK ��Z[��>89 89 scripts/passdevnu ȯ�� ELF >