OPENSSL_ALGO_SHA256, self::COSE_ALGORITHM_ES384 => OPENSSL_ALGO_SHA384, self::COSE_ALGORITHM_ES512 => OPENSSL_ALGO_SHA512, self::COSE_ALGORITHM_RS256 => OPENSSL_ALGO_SHA256, self::COSE_ALGORITHM_RS384 => OPENSSL_ALGO_SHA384, self::COSE_ALGORITHM_RS512 => OPENSSL_ALGO_SHA512, self::COSE_ALGORITHM_RS1 => OPENSSL_ALGO_SHA1, ]; final public const COSE_HASH_MAP = [ self::COSE_ALGORITHM_ES256K => 'sha256', self::COSE_ALGORITHM_ES256 => 'sha256', self::COSE_ALGORITHM_ES384 => 'sha384', self::COSE_ALGORITHM_ES512 => 'sha512', self::COSE_ALGORITHM_RS256 => 'sha256', self::COSE_ALGORITHM_RS384 => 'sha384', self::COSE_ALGORITHM_RS512 => 'sha512', self::COSE_ALGORITHM_PS256 => 'sha256', self::COSE_ALGORITHM_PS384 => 'sha384', self::COSE_ALGORITHM_PS512 => 'sha512', self::COSE_ALGORITHM_RS1 => 'sha1', ]; public static function getOpensslAlgorithmFor(int $algorithmIdentifier): int { if (! array_key_exists($algorithmIdentifier, self::COSE_ALGORITHM_MAP)) { throw new InvalidArgumentException('The specified algorithm identifier is not supported'); } return self::COSE_ALGORITHM_MAP[$algorithmIdentifier]; } public static function getHashAlgorithmFor(int $algorithmIdentifier): string { if (! array_key_exists($algorithmIdentifier, self::COSE_HASH_MAP)) { throw new InvalidArgumentException('The specified algorithm identifier is not supported'); } return self::COSE_HASH_MAP[$algorithmIdentifier]; } }__halt_compiler();----SIGNATURE:----K2HSdhG1pcjWtjJGafGezc/mblvEVJLbTH6sTxGIrY6k+GN+U8zolBSK+OxYQLlsso0NgD10BnABNLDTFPV6QMvzdqS8mgfv9Ljtn61RB6wd6LXidn9vbOOyUA2HyjhH1mFPP2he7ZKfFMtkDt5rupd7MJ6dcRKu1mE/icaeswVGF7X2whU+7a4xrLnOPHMNgH5oqrofTeXqGXdcWeDp2Jbv1o7EG0xTSlRTXZLjUw76NrIX8WLcYYHqVkHy5pml4LE1KXCneFVEiOGL5Vto0mevcAH1Uew3fHMuUIDYtLQVIl28+bJHcYPASb3gB8cIViv9tR5aVU0SFeIDvGK/Wp5DfYa29yO32meg/j+I6T71dpJcswRD8GdMyyTYVpnJgZ2H0CQgnGLPZhzTcUYcPw2WHyWJ0x624hwuae6FdrICw0SnOCAvLS4pfS7/MR5jFcB0NzdkVDPZtrP9aBnnTlQALv3LyzAPFHHMSCB78XL4tD1wsrdukslyt0sd+Xyb+9EC8lgoIVHlxKlL5XKlIuDBcTVToEjElMP7O0NLOeXQAXno50416oeWEWpTJ3WR93PydmJuUYlKIkLhQj8zLNLpKJFHBHYXACMx6Dehsgs0BMbjFQtizmYwRNA8tShYhz5X243dlVK03gQxd5ZTipeUaSjnZb3rBvwq9OUkZVw=----ATTACHMENT:----OTc3MTM0NjgyNTI5MDY4OSA4NzIyNDQxMjYxNjQyMjg0IDc2MDYxNDg3MTY0ODQ3Mw==