# CryptoCertificateBinding

`import { CryptoCertificateBinding } from "destack:crypto/binding";`

Certificate binding family.

```ds title="CryptoCertificateBinding"
export interface CryptoCertificateBinding {
    importCertificate(store: CryptoStoreHandle, format: CryptoCertificateFormat, certificate: &'a readonly [uint8]): Result<CryptoCertificateHandle, HostError>;
    exportCertificate(certificate: CryptoCertificateHandle, format: CryptoCertificateFormat): Result<uint8[], HostError>;
    describeCertificate(certificate: CryptoCertificateHandle): Result<CryptoCertificateDescriptor, HostError>;
    verifyCertificateChain(request: &'a readonly CryptoCertificateVerifyRequest): Result<CryptoCertificateVerifyResult, HostError>;
    deleteCertificate(certificate: CryptoCertificateHandle): Result<void, HostError>;
}
```

[language/library/src/crypto/binding/certificate.ds:193:254](https://github.com/destack-sh/destack/blob/main/language/library/src/crypto/binding/certificate.ds#L193-L254)

## Members

### `importCertificate(store: CryptoStoreHandle, format: CryptoCertificateFormat, certificate: &'a readonly [uint8]): Result<CryptoCertificateHandle, HostError>`

Import one certificate into one store.

### `exportCertificate(certificate: CryptoCertificateHandle, format: CryptoCertificateFormat): Result<uint8[], HostError>`

Export one certificate from one handle.

### `describeCertificate(certificate: CryptoCertificateHandle): Result<CryptoCertificateDescriptor, HostError>`

Describe one certificate.

### `verifyCertificateChain(request: &'a readonly CryptoCertificateVerifyRequest): Result<CryptoCertificateVerifyResult, HostError>`

Verify one certificate chain against one trust policy.

### `deleteCertificate(certificate: CryptoCertificateHandle): Result<void, HostError>`

Delete one certificate from one store when allowed.
