---
title: "CMSDecoderCopySignerTimestampWithPolicy(_:_:_:_:)"
framework: security
role: symbol
role_heading: Function
path: "security/cmsdecodercopysignertimestampwithpolicy(_:_:_:_:)"
---

# CMSDecoderCopySignerTimestampWithPolicy(_:_:_:_:)

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

## Declaration

```swift
func CMSDecoderCopySignerTimestampWithPolicy(_ cmsDecoder: CMSDecoder, _ timeStampPolicy: CFTypeRef?, _ signerIndex: Int, _ timestamp: UnsafeMutablePointer<CFAbsoluteTime>) -> OSStatus
```

## Parameters

- `cmsDecoder`: A CMSDecoder reference returned by the doc://com.apple.security/documentation/Security/CMSDecoderCreate(_:) function.
- `timeStampPolicy`: A timestamp policy. Specify NULL (or use the doc://com.apple.security/documentation/Security/CMSDecoderCopySignerTimestamp(_:_:_:) 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.
