I’m not familiar with the Crypt::OpenPGP module, but from the sourcecode:
sub encrypt {
...
if ($param{SignKeyID}) {
$ptdata = $pgp->sign(
...
KeyID => $param{SignKeyID},
...
and from the documentation for $pgp->sign( %args ):
%args can contain:
- ...
-
KeyID
The ID of the secret key that should be used to sign the message. The value of the key ID should be specified as a 16-digit hexadecimal number.
This argument is mandatory.
So SignKeyID is required to be a 16-digit hexadecimal number. I hope this is helpful.