author | asimpson@symbian.org |
Thu, 15 Oct 2009 17:48:29 +0100 | |
branch | RCL_1 |
changeset 13 | e60b2dbc57a0 |
parent 0 | 2c201484c85f |
child 8 | 35751d3474b7 |
permissions | -rw-r--r-- |
0
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
1 |
/* |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
8 |
* |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
11 |
* |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
13 |
* |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
15 |
* |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
17 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
18 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
19 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
20 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
21 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
22 |
@file |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
23 |
@publishedPartner |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
24 |
@released |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
25 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
26 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
27 |
#ifndef __PKCS7_CONTENT_INFO_V2_H__ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
28 |
#define __PKCS7_CONTENT_INFO_V2_H__ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
29 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
30 |
#include <asn1dec.h> |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
31 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
32 |
/** pkcs7-1 data */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
33 |
_LIT(KPkcs7DataOID, "1.2.840.113549.1.7.1"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
34 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
35 |
/** pkcs7-2 SignedData */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
36 |
_LIT(KPkcs7SignedDataOID, "1.2.840.113549.1.7.2"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
37 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
38 |
/** pkcs7-3 EnvelopedData */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
39 |
_LIT(KPkcs7EnvelopedDataOID, "1.2.840.113549.1.7.3"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
40 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
41 |
/** pkcs7-4 SignedAndEnvelopedData */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
42 |
_LIT(KPkcs7SignedAndEnvelopedDataOID, "1.2.840.113549.1.7.4"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
43 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
44 |
/** pkcs7-5 DigestedData */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
45 |
_LIT(KPkcs7DigestedDataOID, "1.2.840.113549.1.7.5"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
46 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
47 |
/** pkcs7-6 EncryptedData */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
48 |
_LIT(KPkcs7EncryptedDataOID, "1.2.840.113549.1.7.6"); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
49 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
50 |
/** The numeric value of last element in the PKCS7 Data OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
51 |
const TInt KPkcs7Data = 1; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
52 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
53 |
/** The numeric value of last element in the PKCS7 Signed OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
54 |
const TInt KPkcs7SignedData = 2; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
55 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
56 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
57 |
The RFC2315 ContentInfo entity |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
58 |
This class provides details about the Content Type in the Content Info, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
59 |
Provides access to the Content Data when the Content Type is Data and |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
60 |
provides access to the Entire ContentInfo Sequence. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
61 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
62 |
class CPKCS7ContentInfo : public CBase |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
63 |
{ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
64 |
public: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
65 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
66 |
Identifies the type of Content Type present in the PKCS7 ContentInfo Structure. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
67 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
68 |
enum TContentInfoType |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
69 |
{ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
70 |
/** The numeric value of last element in the PKCS7 ContentType Data OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
71 |
EContentTypeData = 1, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
72 |
/** The numeric value of last element in the PKCS7 ContentType SignedData OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
73 |
EContentTypeSignedData, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
74 |
/** The numeric value of last element in the PKCS7 ContentType EnvelopedData OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
75 |
EContentTypeEnvelopedData, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
76 |
/** The numeric value of last element in the PKCS7 ContentType SignedAndEnvelopedData OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
77 |
EContentTypeSignedAndEnvelopedData, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
78 |
/** The numeric value of last element in the PKCS7 ContentType DigestedData OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
79 |
EContentTypeDigestedData, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
80 |
/** The numeric value of last element in the PKCS7 ContentType EncryptedData OID */ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
81 |
EContentTypeEncryptedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
82 |
}; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
83 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
84 |
Creates a new PKCS#7 ContentInfo object. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
85 |
@param aRawData contains a PKCS#7 ContentInfo Structure |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
86 |
@return A pointer to the newly allocated object. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
87 |
@leave KErrNotSupported if the OID value is otherthan enum TContentInfoType. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
88 |
@leave KErrArgument if the data is not PKCS7 contentInfo structure. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
89 |
@see TContentInfoType |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
90 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
91 |
IMPORT_C static CPKCS7ContentInfo* NewL(const TDesC8& aRawData); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
92 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
93 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
94 |
Destructor. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
95 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
96 |
virtual ~CPKCS7ContentInfo(); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
97 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
98 |
public: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
99 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
100 |
Provides the information about the ContentType in the |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
101 |
ContentInfo Sequence. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
102 |
It returns the last number in the ObjectIdentifier |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
103 |
@return The ContentType. This is |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
104 |
1 for Data |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
105 |
2 for SignedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
106 |
3 for EnvelopedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
107 |
4 for SignedAndEnvelopedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
108 |
5 for DigestedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
109 |
6 for EncryptedData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
110 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
111 |
IMPORT_C TContentInfoType ContentType() const; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
112 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
113 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
114 |
Provides access to the Content Data present in PKCS#7 ContentInfo |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
115 |
ContentData present in PKCS#7 ContentInfo is OPTIONAL |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
116 |
The client has to check for data length 0 in case there is no ContentData. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
117 |
@return The ContentData |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
118 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
119 |
IMPORT_C const TPtrC8 ContentData() const; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
120 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
121 |
private: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
122 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
123 |
Constructor. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
124 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
125 |
CPKCS7ContentInfo(void); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
126 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
127 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
128 |
Copy Constructor. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
129 |
@param aContentinfo A CPKCS7ContentInfo object. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
130 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
131 |
CPKCS7ContentInfo(const CPKCS7ContentInfo& aContentInfo); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
132 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
133 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
134 |
Assignment operator. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
135 |
@param aContentinfo A CPKCS7ContentInfo object. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
136 |
@return A reference to CPKCS7ContentInfo class. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
137 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
138 |
CPKCS7ContentInfo& operator=(const CPKCS7ContentInfo& aContentInfo); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
139 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
140 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
141 |
Decodes the PKCS#7 ContentInfo object. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
142 |
@param aRawData contains a PKCS#7 ContentInfo Structure. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
143 |
@leave KErrNotSupported if the OID val is otherthan 1 - 6 |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
144 |
i,e the last part of the OID. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
145 |
@leave KErrArgument if the data is not PKCS7 contentInfo structure. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
146 |
@ see TASN1DecObjectIdentifier, |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
147 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
148 |
void ConstructL(const TDesC8& aRawData); |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
149 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
150 |
private: |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
151 |
/** |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
152 |
Indicates the type of content. Here it is the last Character |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
153 |
in the OID which identifies the Content Type. |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
154 |
*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
155 |
TContentInfoType iContentType; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
156 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
157 |
/** The ContentData present in PKCS7 ContentInfo*/ |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
158 |
TPtrC8 iContentData; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
159 |
}; |
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
160 |
|
2c201484c85f
Move the Security package to EPL, and add the implementations of the cryptographic algorithms
Santosh Patil <santosh.v.patil@nokia.com>
parents:
diff
changeset
|
161 |
#endif // __PKCS7_CONTENT_INFO_V2_H__ |