---
title: "Fasáda Certificates — Certificates for Laravel | Roundly"
description: "Celá fasáda Certificates na jednom mieste — vystavenie, renew, revoke a expire, hromadné renewDue, sync a prune, rukoväť for() a drivery."
url: https://roundly-consulting.com/sk/open-source/navody/certificates-for-laravel/fasada
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Certificates for Laravel](https://roundly-consulting.com/sk/open-source/navody/certificates-for-laravel.md)

# Fasáda Certificates

Odporúčaným vstupným bodom je RoundlyConsulting\\Certificates\\Facades\\Certificates. Jej koreňom je CertificatesManager, singleton v kontajneri, a každá metóda meniaca stav prechádza cez akciu — fasáda, injektovaný manager aj Certificates::fake() tak vidia tie isté volania. Prehľad rozhrania:

```php
use RoundlyConsulting\Certificates\DataTransferObjects\IssueCertificateData;
use RoundlyConsulting\Certificates\Facades\Certificates;

// Issue
Certificates::issueIfMissing('app.example.com');
Certificates::issue(IssueCertificateData::make('app.example.com'));

// Lifecycle — a registry Certificate or a domain (its most recent row)
Certificates::renew('app.example.com');
Certificates::renewLater('app.example.com');
Certificates::revoke($certificate, 'key compromise');
Certificates::expire('app.example.com');

// The whole registry
Certificates::expiring(14);            // Collection<int, Certificate>, soonest first
Certificates::renewDue();              // RenewalReport
Certificates::sync('kubernetes');      // int rows written
Certificates::prune(30);               // int rows soft-deleted

// One domain — fluent issuance, reads and the same lifecycle verbs
Certificates::for('app.example.com')->using('acme')->issue();
Certificates::for('app.example.com')->renew();

// Reads, drivers and scoping
Certificates::find('app.example.com');
Certificates::statusReport('app.example.com', fresh: true);
Certificates::driver('acme');
Certificates::extend('vault', fn () => new VaultCertificateProvider());
Certificates::on('tenant')->renewDue();
```

## Vystavenie a životný cyklus

Každé sloveso životného cyklu prijíma Certificate z registra alebo doménu, ktorá sa preloží na jej najnovší záznam na naviazanom pripojení — presne podľa primárnej domény, takže hostiteľa, ktorý je len SAN doménou iného certifikátu, nenájde. Neznáma doména alebo stav, z ktorého prechod nie je možný (napríklad obnova odvolaného certifikátu), vyhodí CertificateException — aj pri renewLater(), ktoré stav overí skôr, než čokoľvek zaradí do fronty:

| Metóda | Vracia | Účel |
| --- | --- | --- |
| `issue(IssueCertificateData $data)` | Certificate | Vystaví a zaznamená certifikát z DTO; kým ten istý certifikát vystavuje iný proces, vyhodí ProvisioningInProgressException a keď jeho názov už patrí inej doméne, CertificateException. |
| `issueIfMissing(string $domain)` | Certificate | Aktívny certifikát, ktorý doménu už pokrýva — jej vlastný záznam, inak SAN certifikát, ktorý ju uvádza — alebo nové vystavenie. |
| `generate(string $domain)` | bool | Vystavenie — s registrom celý životný cyklus, bez neho priamo cez poskytovateľa; false, kým je zámok certifikátu obsadený. |
| `renew(Certificate\|string $certificate)` | Certificate | Issued/Renewed/Failed (alebo uviaznutý záznam v Renewing) → Renewed, hneď, cez vlastný driver certifikátu a pod jeho zámkom vystavenia — súbežná obnova vyhodí ProvisioningInProgressException. |
| `renewLater(Certificate\|string $certificate)` | Certificate | Stav overí hneď, potom zaradí RenewCertificateJob do fronty renewal.queue. |
| `renewDue(?int $thresholdDays = null, bool $queue = false)` | RenewalReport | Obnoví alebo zaradí do fronty všetko, čo expiruje v rámci prahu alebo už expirovalo (vrátane zlyhaných a uviaznutých záznamov v renewing); jedno zlyhanie nezastaví ostatné. |
| `revoke(Certificate\|string $certificate, ?string $reason = null)` | Certificate | Issued/Renewed → Revoked, spustí CertificateRevoked. Len v registri — autorita sa nekontaktuje. |
| `expire(Certificate\|string $certificate)` | Certificate | Issued/Renewed → Expired, spustí CertificateExpired. |
| `sync(?string $driver = null)` | int | Prenesie živé certifikáty drivera do registra a rozpracované záznamy uzavrie aj s udalosťami; odvolaný záznam nikdy neobnoví. Vráti počet zapísaných záznamov. |
| `prune(int $days = 30, CertificateStatus\|string\|null $status = null)` | int | Soft-deletne staré záznamy v stave expired, failed a revoked — alebo presne $status. |

## Rukoväť domény, čítanie a drivery

| Metóda | Vracia | Účel |
| --- | --- | --- |
| `for(string\|array $domain)` | CertificateBuilder | Rukoväť domény — fluentné vystavenie, čítanie a slovesá životného cyklu. |
| `find(string $domain, ?string $driver = null)` | ?Certificate | Posledný záznam registra, v ktorom je doména primárnou doménou. |
| `status(string $domain, ?string $driver = null)` | ?CertificateStatus | Stav certifikátu, ktorý doménu pokrýva, v registri — najprv jej vlastný záznam, inak najnovší SAN certifikát, ktorý ju uvádza. |
| `statusReport(string $domain, ?string $driver = null, bool $fresh = false)` | ?CertificateStatusReport | Živý stav od poskytovateľa s podporou cache. |
| `expiring(?int $days = null, ?string $driver = null)` | Collection<Certificate> | Záznamy Issued, Renewed a Failed (aj uviaznuté v Renewing) s expiráciou do $days dní alebo už po expirácii (predvolene renewal.threshold\_days), najbližšie prvé. |
| `get()` | Collection<RemoteCertificate> | Certifikáty, ktoré spravuje predvolený driver. |
| `exists(string $domain, ?string $driver = null)` | bool | Kontrola u poskytovateľa drivera $driver (pri null predvoleného). |
| `monitorExpiry(Certificate $certificate, ?Model $notifiable = null)` | PendingScheduledCheck | Naplánuje monitor expirácie v alerts na vlastnom pripojení certifikátu. |
| `driver(?string $name = null)` | CertificateProvider | Vráti poskytovateľa (pri null predvoleného). |
| `extend(string $driver, Closure $callback)` | CertificatesManager | Zaregistruje vlastný driver v CertificateProviderManager. |
| `on(?string $connection)` | CertificatesManager | Klon naviazaný na pripojenie pre registre tenantov. |
| `certificateName(string $domain)` | string | Deterministický názov certifikátu malými písmenami vo formáte DNS-1123 (\*. sa zmení na wildcard-, najviac 253 znakov). |
| `fake()` | CertificatesFake | Nahradí manager zaznamenávajúcim fake v pamäti (pozri Testovanie). |

Certificates::for($domain) je rukoväť pre jednu doménu (alebo SAN skupinu vedenú prvou doménou): fluentné vystavenie, čítanie a renew(), renewLater(), revoke() a expire() nad záznamom tejto domény — pozri Fluentný builder. S using($driver) sa nikdy nedotkne záznamu iného drivera.

Po zapnutí Certificates::fake() fasáda sprístupní aj metódy seed() a failRenewalOf() a všetky asercie assert\* (pozri Testovanie). Manager je makrovateľný, takže vaše vlastné metódy sa objavia aj na fasáde (pozri Rozšírenie).

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/certificates-for-laravel.md)
