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:----iLdGjm6PeOITC/yyGF6tLqoSU/O050cXCNxBEzuYtOEF1EkA6SNN8hk9yOIYheHBqn6YjuhywHQQIrV1I6L+qn6tvAVfaZW1dRFRRZN/QXQQAZlbuJ/M9NVMVg/dp3YflgshnHT/7bPbjyJapQboo1bxWifMBvdvYvAsmGQYvMvN1KLDcTUhAnU5cf5tBsW7iLLhGfuTb/v4O3ZyP1pIG3X58jzSXfoS0fDbSeNj1uErDtJSXTBZdj6okluA7ZWaQCNK5m/vpS87MGVUg1hb+rN+YaBffvOeQAb3mJWRVK23Y8rvOy6wrKgpvr3Qq2dgj273EbFvUVJI2ZIL8T2y7FCPzu+oPKU7sYjNxJJoKJh+WiOxwMRxH8WzRCGAyO7X5SpGggGjIQMuA/FwHxcQiOzdsumNP7pctdj+MxiVX+vw0XeZNFs7yr+r8wuCKYQMP5yoC5ywSTyw399KHLFBJZk4ITuqEirpzbWLEW9Fg1TMw1JV433Bf1EeTwiOL/aBIkrgmOWgkwP7rogM6TbbPfyOUCe1noFuZDYRMQI2n2hLEiLIwy6c/P5uKlL0aGcjIcW0RTgZdHcVthIt1wgaqFDSGQI6iNa8pBY0kLpk1nkn9QcCaZ5k9PPR8H1T1V4cF5m+zpX/N3jyMmLoHyL6Nv0IcXR7IMGjJewBhLWmkbk=----ATTACHMENT:----MTAyMzcyNjc2MzkwOTQ1MyA4OTYyMDE2MjgxNzIwMjQ1IDcxMjg0OTUwODk0NDE3NDA=