public function __construct(HiddenString $keyMaterial)
{
if (CryptoUtil::safeStrlen($keyMaterial->getString()) !== \Sodium\CRYPTO_SIGN_SECRETKEYBYTES) {
throw new InvalidKey('Signature secret key must be CRYPTO_SIGN_SECRETKEYBYTES bytes long');
}
parent::__construct($keyMaterial);
$this->isSigningKey = true;
}