---
title: "sign(_:using:completion:)"
framework: passkit
role: symbol
role_heading: Instance Method
path: "passkit/pkpasslibrary/sign(_:using:completion:)"
---

# sign(_:using:completion:)

Signs an opaque value using a cryptographic signature.

## Declaration

```swift
func sign(_ signData: Data, using secureElementPass: PKSecureElementPass, completion: @escaping @Sendable (Data?, Data?, (any Error)?) -> Void)
```

```swift
func sign(_ signData: Data, using secureElementPass: PKSecureElementPass) async throws -> (Data, Data)
```

## Parameters

- `signData`: The opaque value to sign.
- `secureElementPass`: The Secure Element pass that PassKit uses to generate the signature.
- `completion`: A Swift closure or an Objective-C block that PassKit runs when the process finishes.

## Discussion

Discussion important: The method is available only to developers who work with Apple to enable this functionality. PassKit may execute the completion Swift closure or an Objective-C block on an arbitrary queue.
