<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AuthenticationServices",
  "identifier" : "/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Authentication Services"
    ],
    "preciseIdentifier" : "c:objc(cs)ASAuthorizationPlatformPublicKeyCredentialProvider"
  },
  "title" : "ASAuthorizationPlatformPublicKeyCredentialProvider"
}
-->

# ASAuthorizationPlatformPublicKeyCredentialProvider

A mechanism for providing public key credential requests to an app or service with iCloud Keychain.

```
class ASAuthorizationPlatformPublicKeyCredentialProvider
```

## Overview

The credential provider accesses public-private key pairs stored in iCloud Keychain for registration or authentication with a relying party. Instantiate this object, passing in the relying party identifier for the credentials.

## Topics

### Creating the provider

[`init(relyingPartyIdentifier:)`](/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider/init(relyingPartyIdentifier:))

Creates the object with a relying party identifier.

### Creating the request

[`relyingPartyIdentifier`](/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider/relyingPartyIdentifier)

The domain name of the service to register or authorize against.

[`createCredentialAssertionRequest(challenge:)`](/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider/createCredentialAssertionRequest(challenge:))

Creates an assertion request with a challenge.

[`createCredentialRegistrationRequest(challenge:name:userID:)`](/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider/createCredentialRegistrationRequest(challenge:name:userID:))

Creates a registration request with a challenge, name, and user ID.

[`createCredentialRegistrationRequest(challenge:name:userID:requestStyle:)`](/documentation/AuthenticationServices/ASAuthorizationPlatformPublicKeyCredentialProvider/createCredentialRegistrationRequest(challenge:name:userID:requestStyle:))



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)