Przejdź do głównej zawartości

Certyfikaty szyfrowania

KSeF publikuje certyfikaty publiczne używane do szyfrowania kluczy sesji i materiału eksportów. Wysokopoziomowe pomocniki faktur i batch ładują te certyfikaty automatycznie. Użyj client.encryption bezpośrednio, gdy chcesz sprawdzić, cache’ować albo wstępnie załadować materiał certyfikatu.

certificates = client.encryption.get_certificates()
for certificate in certificates:
print(certificate.public_key_id, certificate.usage)

Filtruj po zastosowaniu, gdy potrzebujesz tylko jednej rodziny certyfikatów:

certificates = client.encryption.get_certificates(
usage=["symmetric_key_encryption"],
)

Uwierzytelnione sesje faktur i eksporty wywołują gałąź certyfikatów szyfrowania przed zaszyfrowaniem kluczy payloadu:

with auth.online_session(form_code=FormSchema.FA3) as session:
...
zip_parts = auth.invoices.export_and_download(filters=filters)
  1. Domyślnie pozwól przepływom faktur ładować certyfikaty leniwie.

  2. Opcjonalnie wstępnie załaduj certyfikaty publiczne przy starcie aplikacji.

  3. Alarmuj, gdy żaden certyfikat nie obsługuje zastosowania wymaganego przez przepływ.

  4. Ponów później zamiast hardcodować dane certyfikatów w aplikacji.