---
title: ICertificateDistributionService
summary: API reference for ICertificateDistributionService.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# ICertificateDistributionService

`ICertificateDistributionService` declares a service contract in the Policies / Certificates / Distribution area, implemented outside this library (most likely in SAIF.Services, per the declare-here, enforce-elsewhere pattern documented for this library)*.

## Purpose
- Declares the operations that a SAIF.Services implementation must provide for the Policies / Certificates / Distribution area*.

## Context
- Namespace: `SAIF.Core.Contracts.Policies.Certificates.Distribution`
- Kind: Interface
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `DistributeCertificate` | `void DistributeCertificate(Certificate certificate, DistributionOptions distributionOptions)` | Handles distribute certificate, given `certificate`, `distributionOptions`*. |
| `PreviewCertificate` | `Stream PreviewCertificate(Certificate certificate)` | Handles preview certificate, given `certificate`*. |
| `ImageCertificate` | `long ImageCertificate(Certificate certificate, Stream certificateStream, Boolean isPolicyholderCopy, string createUser)` | Handles image certificate, given `certificate`, `certificateStream`, `isPolicyholderCopy`, `createUser`*. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- Core/SAIF.Core/Contracts/Policies/Certificates/Distribution/ICertificateDistributionService.cs
