Re: [PATCH v6 6/9] ssh signing: add test prereqs
- From
Fabian Stelzer <fs@gigacodes.de>
- Date
- Jul 30, 2021, 07:32 UTC
- Message-ID
- <63cc209f-1111-9d03-f6ff-24598d7c9918@gigacodes.de>
- In-Reply-To
- <YQL8+UFtVJPlJroe@google.com>
On 29.07.21 21:09, Josh Steadmon wrote:
Show 39 quoted lines
> On 2021.07.28 19:36, Fabian Stelzer via GitGitGadget wrote:
>> From: Fabian Stelzer <fs@gigacodes.de>
>>
>> +test_lazy_prereq GPGSSH '
>> + ssh_version=$(ssh-keygen -Y find-principals -n "git" 2>&1)
>> + test $? != 127 || exit 1
>> + echo $ssh_version | grep -q "find-principals:missing signature file"
>> + test $? = 0 || exit 1;
>> + mkdir -p "${GNUPGHOME}" &&
>> + chmod 0700 "${GNUPGHOME}" &&
>> + ssh-keygen -t ed25519 -N "" -C "git ed25519 key" -f "${GNUPGHOME}/ed25519_ssh_signing_key" >/dev/null &&
>> + echo "\"principal with number 1\" $(cat "${GNUPGHOME}/ed25519_ssh_signing_key.pub")" >> "${GNUPGHOME}/ssh.all_valid.allowedSignersFile" &&
>> + ssh-keygen -t rsa -b 2048 -N "" -C "git rsa2048 key" -f "${GNUPGHOME}/rsa_2048_ssh_signing_key" >/dev/null &&
>> + echo "\"principal with number 2\" $(cat "${GNUPGHOME}/rsa_2048_ssh_signing_key.pub")" >> "${GNUPGHOME}/ssh.all_valid.allowedSignersFile" &&
>> + ssh-keygen -t ed25519 -N "super_secret" -C "git ed25519 encrypted key" -f "${GNUPGHOME}/protected_ssh_signing_key" >/dev/null &&
>> + echo "\"principal with number 3\" $(cat "${GNUPGHOME}/protected_ssh_signing_key.pub")" >> "${GNUPGHOME}/ssh.all_valid.allowedSignersFile" &&
>> + cat "${GNUPGHOME}/ssh.all_valid.allowedSignersFile" &&
>> + ssh-keygen -t ed25519 -N "" -f "${GNUPGHOME}/untrusted_ssh_signing_key" >/dev/null
>> +'
>> +
>> +SIGNING_KEY_PRIMARY="${GNUPGHOME}/ed25519_ssh_signing_key"
>> +SIGNING_KEY_SECONDARY="${GNUPGHOME}/rsa_2048_ssh_signing_key"
>> +SIGNING_KEY_UNTRUSTED="${GNUPGHOME}/untrusted_ssh_signing_key"
>> +SIGNING_KEY_WITH_PASSPHRASE="${GNUPGHOME}/protected_ssh_signing_key"
>> +SIGNING_KEY_PASSPHRASE="super_secret"
>> +SIGNING_ALLOWED_SIGNERS="${GNUPGHOME}/ssh.all_valid.allowedSignersFile"
>> +
>> +GOOD_SIGNATURE_TRUSTED='Good "git" signature for'
>> +GOOD_SIGNATURE_UNTRUSTED='Good "git" signature with'
>> +KEY_NOT_TRUSTED="No principal matched"
>> +BAD_SIGNATURE="Signature verification failed"
>> +
>
> Is there a reason why we don't use these variables in the script above?
>
> Also, in general I feel that it's better to add tests in the same commit
> where new features are added, rather than having standalone test
> commits.
> Intially i wanted to fill them in the prereq but couldn't acces them in the tests then.
Thanks, i have moved the variables above the prereq and used them there as well. makes sense. Also i have prefixed them now with GPGSSH so we don't collide with any other tests accidentally.