]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_smime/lib/SecCmsSignedData.h
Security-58286.41.2.tar.gz
[apple/security.git] / libsecurity_smime / lib / SecCmsSignedData.h
index 0f0e46cd60ceb5c2d040ad524b0afa77b9e6b3ae..08fc62b57ca4b7815859a4e6225034e13add9aeb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2004 Apple Computer, Inc. All Rights Reserved.
+ *  Copyright (c) 2004,2008,2010 Apple Inc. All Rights Reserved.
  *
  *  @APPLE_LICENSE_HEADER_START@
  *  
@@ -23,7 +23,7 @@
 
 /*!
     @header SecCmsSignedData.h
-    @copyright 2004 Apple Computer, Inc. All Rights Reserved.
+    @Copyright (c) 2004,2008,2010 Apple Inc. All Rights Reserved.
 
     @availability 10.4 and later
     @abstract Interfaces of the CMS implementation.
@@ -38,7 +38,6 @@
 #include <Security/SecCmsBase.h>
 #include <Security/SecTrust.h>
 
-
 #if defined(__cplusplus)
 extern "C" {
 #endif
@@ -160,24 +159,9 @@ SecCmsSignedDataContainsCertsOrCrls(SecCmsSignedDataRef sigd);
     @function
     @abstract Retrieve the SignedData's certificate list.
  */
-extern CSSM_DATA_PTR *
+extern SecAsn1Item * *
 SecCmsSignedDataGetCertificateList(SecCmsSignedDataRef sigd);
 
-/*!
-    @function
- */
-extern OSStatus
-SecCmsSignedDataAddSignerInfo(SecCmsSignedDataRef sigd,
-                               SecCmsSignerInfoRef signerinfo);
-
-/*!
-    @function
- */
-extern OSStatus
-SecCmsSignedDataSetDigests(SecCmsSignedDataRef sigd,
-                               SECAlgorithmID **digestalgs,
-                               CSSM_DATA_PTR *digests);
-
 /*!
     @function
     @abstract Create a certs-only SignedData.
@@ -189,6 +173,17 @@ SecCmsSignedDataSetDigests(SecCmsSignedDataRef sigd,
 extern SecCmsSignedDataRef
 SecCmsSignedDataCreateCertsOnly(SecCmsMessageRef cmsg, SecCertificateRef cert, Boolean include_chain);
 
+/*!
+       @function
+    @abstract Finalize the digests in digestContext and apply them to sigd.
+    @param sigd A SecCmsSignedDataRef for which the digests have been calculated
+    @param digestContext A digestContext created with SecCmsDigestContextStartMultiple.
+       @result The digest will have been applied to sigd.  After this call completes sigd is ready to accept
+       SecCmsSignedDataVerifySignerInfo() calls.  The caller should still destroy digestContext with a SecCmsDigestContextDestroy() call.
+
+ */
+extern OSStatus SecCmsSignedDataSetDigestContext(SecCmsSignedDataRef sigd,
+                                                                                                SecCmsDigestContextRef digestContext);
 
 #if defined(__cplusplus)
 }