---
title: "CMSEncoderCopySignerTimestampWithPolicy(_:_:_:_:)"
framework: security
role: symbol
role_heading: Function
path: "security/cmsencodercopysignertimestampwithpolicy(_:_:_:_:)"
---

# CMSEncoderCopySignerTimestampWithPolicy(_:_:_:_:)

Returns the timestamp of a signer of a CMS message using a particular policy, if present.

## Declaration

```swift
func CMSEncoderCopySignerTimestampWithPolicy(_ cmsEncoder: CMSEncoder, _ timeStampPolicy: CFTypeRef?, _ signerIndex: Int, _ timestamp: UnsafeMutablePointer<CFAbsoluteTime>) -> OSStatus
```

## Parameters

- `cmsEncoder`: A CMSEncoder reference returned by the doc://com.apple.security/documentation/Security/CMSEncoderCreate(_:) function.
- `timeStampPolicy`: A timestamp policy. Specify NULL (or use the doc://com.apple.security/documentation/Security/CMSEncoderCopySignerTimestamp(_:_:_:) function instead) to get the default, which is a policy using doc://com.apple.security/documentation/Security/kSecPolicyAppleTimeStamping. See doc://com.apple.security/documentation/Security/policies in doc://com.apple.security/documentation/Security/certificate-key-and-trust-services for more about policies.
- `signerIndex`: A number indicating which signer to examine. Signer index numbers start with 0. Use the doc://com.apple.security/documentation/Security/CMSDecoderGetNumSigners(_:_:) function to determine the total number of signers for a message.
- `timestamp`: The address of an absolute time value where the result should be stored.

## Return Value

Return Value A result code. See Security Framework Result Codes.
