# ClientCertificateSelectionCallback Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.connections.security/orleans.connections.security.clientcertificateselectioncallback/)

## BeginInvoke(object, string, X509CertificateCollection, X509Certificate, string[], AsyncCallback, object) {#begininvoke-object-string-system-security-cryptography-x509certificates-x509cert-f8a4828b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.connections.security/orleans.connections.security.clientcertificateselectioncallback/methods/begininvoke-object-string-system-security-cryptography-x509certificates-x509cert-f8a4828b/)

```csharp
public virtual IAsyncResult BeginInvoke(object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers, AsyncCallback callback, object @object)
```

### Parameters

- `sender` (`object`)
- `targetHost` (`string`)
- `localCertificates` (`X509CertificateCollection`)
- `remoteCertificate` (`X509Certificate`)
- `acceptableIssuers` (`string[]`)
- `callback` (`AsyncCallback`)
- `object` (`object`)

## EndInvoke(IAsyncResult) {#endinvoke-system-iasyncresult-77ef4718}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.connections.security/orleans.connections.security.clientcertificateselectioncallback/methods/endinvoke-system-iasyncresult-77ef4718/)

```csharp
public virtual X509Certificate EndInvoke(IAsyncResult result)
```

### Parameters

- `result` (`IAsyncResult`)
