WSCTrustedApplication Class Reference
| Inherits from | NSObject |
| Declared in | WSCTrustedApplication.h WSCTrustedApplication.m |
Tasks
Properties
-
uniqueIdentificationproperty
Creating Trusted Application
Comparing Trusted Application
Keychain Services Bridge
Properties
secTrustedApplication
The reference of the secTrustedApplication opaque object, which wrapped by WSCTrustedApplication object.
@property (unsafe_unretained, readonly) SecTrustedApplicationRef secTrustedApplicationDiscussion
If you are familiar with the underlying Keychain Services API, you can move freely back and forth between WaxSealCore framework and Keychain Services API with this property.
Declared In
WSCTrustedApplication.huniqueIdentification
Retrieves and sets the unique identification of the trusted application represented by receiver.
@property (retain, readwrite) NSData *uniqueIdentificationDiscussion
The trusted application represented by receiver includes data that uniquely identifies the application (aka. unique identification), such as a cryptographic hash of the application. The operating system can use this data to verify that the application has not been altered since the trusted application object was created. When an application requests access to an item in the keychain for which it is designated as a trusted application, for example, the operating system checks this data before granting access. You can use the read property to extract this data from the trusted application object for storage or for transmittal to another location (such as over a network). Use the write property to insert the data back into a trusted application object.
Warning: Note that this data is in a private format; there is no supported way to read or interpret it.
Declared In
WSCTrustedApplication.hClass Methods
trustedApplicationWithContentsOfURL:error:
Creates a trusted application object based on the application specified by an URL.
+ (instancetype)trustedApplicationWithContentsOfURL:(NSURL *)_ApplicationURL error:(NSError **)_ErrorParameters
- _ApplicationURL
The URL to the application or tool to trust. For application bundles, use the URL to the bundle directory. Pass
nilto refer to the application or tool making this call.
- _Error
On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify
nilfor this parameter if you don’t want the error information.
Return Value
Newly created trusted application object. Returns nil if an error occurs.
Discussion
This method creates a trusted application object,
which both identifies an application and provides data that can be used to ensure
that the application has not been altered since the object was created.
The trusted application object is used as input to the SecAccessCreate function, which creates an access object.
The access object, in turn, is used as input to the SecKeychainItemSetAccess function
to specify the set of applications that are trusted to access a specific keychain item.
Declared In
WSCTrustedApplication.htrustedApplicationWithSecTrustedApplicationRef:
Creates and returns a WSCTrustedApplication object using the given reference to the instance of SecTrustedApplication opaque type.
+ (instancetype)trustedApplicationWithSecTrustedApplicationRef:(SecTrustedApplicationRef)_SecTrustedAppRefParameters
- _SecTrustedAppRef
A reference to the instance of
SecTrustedApplicationopaque type.
Return Value
A WSCTrustedApplication object initialized with the givent reference to the instance of SecTrustedApplication opaque type.
Return nil if _SecTrustedAppRef is nil.
Discussion
This method creates a trusted application object with the specified underlying SecTrustedApplicationRef.
which both identifies an application and provides data that can be used to ensure
that the application has not been altered since the object was created.
The trusted application object is used as input to the SecAccessCreate function, which creates an access object.
The access object, in turn, is used as input to the SecKeychainItemSetAccess function
to specify the set of applications that are trusted to access a specific keychain item.
If you are familiar with the underlying Keychain Services API, you can move freely back and forth between WaxSealCore framework and Keychain Services API with this class method.
Warning: This method is just used for bridge between WaxSealCore framework and Keychain Services API.
Instead of invoking this method, you should construct a WSCTrustedApplication object by invoking:
Declared In
WSCTrustedApplication.hInstance Methods
isEqualToTrustedApplication:
Returns a BOOL value that indicates whether a given trusted application is equal to receiver.
- (BOOL)isEqualToTrustedApplication:(WSCTrustedApplication *)_AnotherTrustedApplicationParameters
- _AnotherTrustedApplication
The trusted application with which to compare the receiver.
Return Value
YES if _AnotherTrustedApplication is equivalent to receiver (if they have the same unique identification);
otherwise NO.
One more thing
When you know both objects are keychains, this method is a faster way to check equality than method isEqual:.
Declared In
WSCTrustedApplication.h