<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "applicensedeliverysdk",
  "identifier" : "/documentation/AppLicenseDeliverySDK/ALDSession/init(request:PASK:encryptionCert:signingCert:signingKey:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "App License Delivery SDK"
    ],
    "preciseIdentifier" : "s:3ALD10ALDSessionC7request4PASK14encryptionCert07signingF00G3KeyACSays5UInt8VG_A4KSgtKcfc"
  },
  "title" : "init(request:PASK:encryptionCert:signingCert:signingKey:)"
}
-->

# init(request:PASK:encryptionCert:signingCert:signingKey:)

Initialize a ALDSession with a license request. Call generateLicense() to create a license.

```
init(request: [UInt8], PASK: [UInt8], encryptionCert: [UInt8], signingCert: [UInt8], signingKey: [UInt8]? = nil) throws
```

## Parameters

`request`

Opaque request bytes sent by the client

`PASK`

The server side secret provided to the provider

`encryptionCert`

The ALD provider encryption cert

`signingCert`

The ALD provider signing cert

`signingKey`

The ALD provider signing key in DER encoded format. When provided, one can use finalizeLicenseResponse() to automarically sign the payload.
If this key is not provided, then one must sign each license payload out of band and add it to the license response.

---

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)