/** * @param string $keyMaterial - The actual key data * @param bool $signing - Is this a signing key? */ public function __construct(string $keyMaterial = '', ...$args) { if (CryptoUtil::safeStrlen($keyMaterial) !== \Sodium\CRYPTO_BOX_PUBLICKEYBYTES) { throw new InvalidKey('Encryption public key must be CRYPTO_BOX_PUBLICKEYBYTES bytes long'); } parent::__construct($keyMaterial, false); }
/** * @param HiddenString $keyMaterial - The actual key data * @throws InvalidKey */ public function __construct(HiddenString $keyMaterial) { if (CryptoUtil::safeStrlen($keyMaterial->getString()) !== \Sodium\CRYPTO_BOX_PUBLICKEYBYTES) { throw new InvalidKey('Encryption public key must be CRYPTO_BOX_PUBLICKEYBYTES bytes long'); } parent::__construct($keyMaterial); }
/** * @param HiddenString $keyMaterial - The actual key data * @throws InvalidKey */ public function __construct(HiddenString $keyMaterial) { if (CryptoUtil::safeStrlen($keyMaterial->getString()) !== \Sodium\CRYPTO_SIGN_PUBLICKEYBYTES) { throw new InvalidKey('Signature public key must be CRYPTO_SIGN_PUBLICKEYBYTES bytes long'); } parent::__construct($keyMaterial); $this->isSigningKey = true; }