*/ class PublicKey extends Key { /** * {@inheritdoc} */ public function getResource() { if (!$resource = openssl_pkey_get_public($this->keyPEM)) { throw new KeyFormatException(sprintf('Failed to convert key into resource: %s', openssl_error_string())); } return $resource; } public static function fromDER(string $keyDER): self { Assert::stringNotEmpty($keyDER, __METHOD__.'::$keyDER should be a non-empty string. Got %s'); $der = base64_encode($keyDER); $lines = str_split($der, 65); array_unshift($lines, '-----BEGIN PUBLIC KEY-----'); $lines[] = '-----END PUBLIC KEY-----'; $lines[] = ''; return new self(implode("\n", $lines)); } public function getHPKP(): string { return base64_encode(hash('sha256', $this->getDER(), true)); } }__halt_compiler();----SIGNATURE:----Yn1zAV/INHe/UztlkPwjYcG9N5NH/t9BpSlbneBscjHwiG1sygA7t4JsEOaAckIivFcck/FAPz2/RNKlD9U7Mz9Okh8RGi+ItSrjrAZJgyGcrBhjOCVbG231z8PqnaPkTTX29YPEUcwDoN/ofskP44eaDX8GVxa4y5uI+sZbaqawBwmKTTvaEvhg3bnMA8wSQtUDUuZgoRajn/0uwpUs//CMWyFV8m3Yvi+lQdNmHcSAJLGEkdty/EG+uI2n6ihchemDFP0xSQNfts8cuRhMRh68CVG4tDTMJj27WXqTqo95iu6ijnxUFxJ+t0goiVn/BRrlDiDZ+ZP5mId12TIfHzHk7xJGCwCbDzal0pGGjnDaCyCG4xlLEjx5JeHZ0DTWoBnJHZ8Z19Gqik32jqYRVU0NhUpF5yFUbBk5h7UI2tLDfQAcSXEFL58zao6fUSh4PTU6wUxGvWUxyYhOgtedLEk5ts18WpM6Kvpr/Slmv9mduRD8YO21O6lwUaXe6co/b4C3mOo3jo20tosXO2+hlI9LkKTbNYjvc502CwANA28m5XOJvbJaZP8ff0x4DaFMqVnM/0vdKjJdQxJAHoa5JT36uMsB0NeA+cz4fMjCLiGlFA6HKCpfPWR47FxwvmVtwjBpUGqBWLFWCVMeWJ2sMwwAO71B2Uoi6F7qnxEnwPc=----ATTACHMENT:----NDI5MjM1MDI4NTMyMDcwNiA1ODUwNTY5MjY1Nzg1NDM2IDYwNzg5NjYyNDQyMzg3Mjk=