---
title: "SecVerifyTransformCreate(_:_:_:)"
framework: security
role: symbol
role_heading: Function
path: "security/secverifytransformcreate(_:_:_:)"
---

# SecVerifyTransformCreate(_:_:_:)

Creates a verify transform object.

## Declaration

```swift
func SecVerifyTransformCreate(_ key: SecKey, _ signature: CFData?, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>?) -> SecTransform?
```

## Parameters

- `key`: A doc://com.apple.security/documentation/Security/SecKey with the public key used for signing.
- `signature`: A doc://com.apple.documentation/documentation/CoreFoundation/CFData with the signature. This value may be NULL, and you may connect a transform to kSecTransformSignatureAttributeName to supply it from another signature.
- `error`: A pointer to a doc://com.apple.documentation/documentation/CoreFoundation/CFError. This pointer will be set if an error occurred. This value may be NULL if you do not want an error returned.

## Return Value

Return Value A pointer to a new transform or NULL on error. In Objective-C, call the CFRelease function to free this object’s memory when you are done with it.

## Discussion

Discussion This function creates a transform which verifies a cryptographic signature. The kSecInputIsAttributeName attribute defaults to kSecInputIsPlainText, and the kSecDigestTypeAttribute and kSecDigestLengthAttribute attributes default to something appropriate for the type of key you have supplied.
