2 * Copyright (c) 2019 Apple Inc. All Rights Reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
21 * @APPLE_LICENSE_HEADER_END@
25 #ifndef _TRUSTTEST_TRUST_HELPERS_H_
26 #define _TRUSTTEST_TRUST_HELPERS_H_
28 #import <Foundation/Foundation.h>
29 #import <Security/Security.h>
31 NS_ASSUME_NONNULL_BEGIN
33 int ping_host(char *host_name
);
35 @interface TestTrustEvaluation
: NSObject
36 @
property (assign
, nonnull
) SecTrustRef trust
;
37 @property NSString
*fullTestName
;
38 @property BOOL bridgeOSDisabled
;
41 @
property (assign
) SecTrustResultType trustResult
;
42 @
property (nullable
) NSDictionary
*resultDictionary
;
45 @property NSNumber
*expectedResult
;
46 @property NSNumber
*expectedChainLength
;
48 // These properties have the side effect of modifying the SecTrustRef
49 @
property (nullable
,assign
,nonatomic
) NSArray
*anchors
;
50 @
property (nullable
,assign
,nonatomic
) NSArray
*ocspResponses
;
51 @
property (nullable
,nonatomic
) NSArray
*presentedSCTs
;
52 @
property (nullable
,nonatomic
) NSArray
*trustedCTLogs
;
53 @
property (nullable
,nonatomic
) NSDate
*verifyDate
;
55 - (instancetype _Nullable
)initWithCertificates
:(NSArray
* _Nonnull
)certs policies
:(NSArray
* _Nullable
)policies
;
56 - (instancetype _Nullable
) initWithTrustDictionary
:(NSDictionary
*)testDict
;
58 - (void)addAnchor
:(SecCertificateRef
)certificate
;
59 - (void)setNeedsEvaluation
;
61 - (bool)evaluate
:(out NSError
* _Nullable __autoreleasing
* _Nullable
)outError
;
62 - (bool)evaluateForExpectedResults
:(out NSError
* _Nullable __autoreleasing
*)outError
;
67 #endif /*_TRUSTTEST_TRUST_HELPERS_H_ */