---
title: "Overovanie podpisov a dôvera — Purchases for Laravel | Roundly"
description: "Ako sa overuje podpis každého obchodu — primitíva z crypto-for-laravel, pripnuté certifikáty Apple a validovaná tolerancia posunu hodín."
url: https://roundly-consulting.com/sk/open-source/navody/purchases-for-laravel/overovanie-podpisov
language: sk
---

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

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

# Overovanie podpisov a dôvera

Každé kryptografické primitívum pochádza z crypto-for-laravel; každé rozhodnutie o dôvere zostáva v tomto balíku. Purchases sám nevolá žiadnu funkciu openssl\_\*:

| Obchod | crypto-for-laravel zabezpečí | Purchases si ponechá |
| --- | --- | --- |
| Stripe | HMAC-SHA256 a porovnanie v konštantnom čase | Schému hlavičky t=/v1= a toleranciu časovej pečiatky proti replayu (predvolene 300 s) |
| Apple | ES256 JWS overenie a podpis a celú X.509 matematiku — parsovanie, SHA-1 odtlačky, väzby reťazca, platnosť | Rozhodnutie o dôvere — reťazec x5c pripnutý odtlačkom na Apple WWDR intermediate a Root CA G3, každý článok podpísal ten pod ním, každý certifikát je platný, koncový a sprostredkujúci certifikát nesú značkovacie rozšírenia Apple pre podpis App Store (1.2.840.113635.100.6.11.1) a WWDR (1.2.840.113635.100.6.2.1) — a potom väzba na aplikáciu (bundle id, prostredie, Apple ID) |
| Google | RS256 JWS assertion | OAuth2 JWT-bearer grant, scope a cache prístupového tokenu |

Výnimky kryptografie sa na hranici každého poskytovateľa prekladajú na VerificationException, takže jeden catch pokryje všetky obchody. Pripnuté odtlačky Apple dokazujú len to, že notifikáciu podpísal Apple — ten týmto reťazcom podpisuje notifikácie všetkých aplikácií —, preto purchases každú navyše viaže na vašu aplikáciu: bundle id, prostredie a v produkcii Apple ID (pozrite Apple App Store).

## Platnosť certifikátov Apple

Notifikácia App Store sa odmietne, keď je ktorýkoľvek certifikát v jej reťazci x5c — koncový, sprostredkujúci alebo koreňový — mimo svojho okna notBefore..notAfter. Tolerancia posunu hodín, uplatnená na oboch koncoch okna, vyrovná hodiny servera, ktoré mierne predbiehajú alebo meškajú:

```php
// config/purchases.php
'settings' => [
    'apple' => [
        // Seconds, 0–3600. Default 60. Anything outside that range is a
        // misconfiguration and throws InvalidConfigurationException — a
        // fat-fingered value can never silently switch the check off.
        'certificate_clock_skew' => env('PURCHASES_APPLE_CERTIFICATE_CLOCK_SKEW', 60),
    ],
],
```

Odmietnutie má vlastnú správu s názvom certifikátu a okamihom, keď platnosť vypršala, takže expirovaný reťazec si nikdy nepomýlite so zlým podpisom:

```
RoundlyConsulting\Purchases\Exceptions\VerificationException:
Apple certificate [Apple Worldwide Developer Relations Certification Authority] expired at
2026-01-01T00:00:00+00:00; the notification's certificate chain is outside its validity period.
```

## Opätovné overenie archivovaných notifikácií

Opätovné overenie archivovanej notifikácie Apple podpísanej medzičasom vymeneným, dnes už expirovaným certifikátom zlyhá — a to je správne, pretože expirovaný certifikát nič nedokazuje. certificate\_clock\_skew zvyšujte len kvôli posunu hodín; nie je to obdobie odkladu a jeho strop je jedna hodina. purchases:replay sa to netýka: výsledky obnovuje z auditných snapshotov, ktoré boli overené pri doručení.

## 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/purchases-for-laravel.md)
