* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Resource\Provider; /** * Resource Service Identity Certificate * * Client certificate authentication credentials for resource services. * Uses X.509 certificates for mutual TLS (mTLS) authentication. * * @since 2025.05.01 */ interface ResourceServiceIdentityCertificate extends ResourceServiceIdentityInterface { /** * Gets the certificate file path or content * * @since 2025.05.01 * * @return string Path to certificate file or PEM-encoded certificate */ public function getCertificate(): string; /** * Sets the certificate file path or content * * @since 2025.05.01 * * @param string $value Path to certificate file or PEM-encoded certificate * * @return void */ public function setCertificate(string $value): void; /** * Gets the private key file path or content * * @since 2025.05.01 * * @return string Path to private key file or PEM-encoded private key */ public function getPrivateKey(): string; /** * Sets the private key file path or content * * @since 2025.05.01 * * @param string $value Path to private key file or PEM-encoded private key * * @return void */ public function setPrivateKey(string $value): void; /** * Gets the private key passphrase (if encrypted) * * @since 2025.05.01 * * @return string|null Passphrase for encrypted private key, or null if not encrypted */ public function getPassphrase(): ?string; /** * Sets the private key passphrase (if encrypted) * * @since 2025.05.01 * * @param string|null $value Passphrase for encrypted private key * * @return void */ public function setPassphrase(?string $value): void; }