Files
server/shared/lib/Resource/Provider/ResourceServiceIdentityCertificate.php
2026-02-10 17:47:48 -05:00

83 lines
2.0 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* 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;
}