| OLD | NEW |
| (Empty) |
| 1 /* ***** BEGIN LICENSE BLOCK ***** | |
| 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | |
| 3 * | |
| 4 * The contents of this file are subject to the Mozilla Public License Version | |
| 5 * 1.1 (the "License"); you may not use this file except in compliance with | |
| 6 * the License. You may obtain a copy of the License at | |
| 7 * http://www.mozilla.org/MPL/ | |
| 8 * | |
| 9 * Software distributed under the License is distributed on an "AS IS" basis, | |
| 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | |
| 11 * for the specific language governing rights and limitations under the | |
| 12 * License. | |
| 13 * | |
| 14 * The Original Code is the Netscape security libraries. | |
| 15 * | |
| 16 * The Initial Developer of the Original Code is | |
| 17 * Netscape Communications Corporation. | |
| 18 * Portions created by the Initial Developer are Copyright (C) 1994-2000 | |
| 19 * the Initial Developer. All Rights Reserved. | |
| 20 * | |
| 21 * Contributor(s): | |
| 22 * | |
| 23 * Alternatively, the contents of this file may be used under the terms of | |
| 24 * either the GNU General Public License Version 2 or later (the "GPL"), or | |
| 25 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), | |
| 26 * in which case the provisions of the GPL or the LGPL are applicable instead | |
| 27 * of those above. If you wish to allow use of your version of this file only | |
| 28 * under the terms of either the GPL or the LGPL, and not to allow others to | |
| 29 * use your version of this file under the terms of the MPL, indicate your | |
| 30 * decision by deleting the provisions above and replace them with the notice | |
| 31 * and other provisions required by the GPL or the LGPL. If you do not delete | |
| 32 * the provisions above, a recipient may use your version of this file under | |
| 33 * the terms of any one of the MPL, the GPL or the LGPL. | |
| 34 * | |
| 35 * ***** END LICENSE BLOCK ***** */ | |
| 36 | |
| 37 #ifndef NSSPKI1T_H | |
| 38 #define NSSPKI1T_H | |
| 39 | |
| 40 #ifdef DEBUG | |
| 41 static const char NSSPKI1T_CVS_ID[] = "@(#) $RCSfile: nsspki1t.h,v $ $Revision:
1.3 $ $Date: 2005/01/20 02:25:49 $"; | |
| 42 #endif /* DEBUG */ | |
| 43 | |
| 44 /* | |
| 45 * nsspki1t.h | |
| 46 * | |
| 47 * This file contains the public type definitions for the PKIX part-1 | |
| 48 * objects. | |
| 49 */ | |
| 50 | |
| 51 #ifndef NSSBASET_H | |
| 52 #include "nssbaset.h" | |
| 53 #endif /* NSSBASET_H */ | |
| 54 | |
| 55 PR_BEGIN_EXTERN_C | |
| 56 | |
| 57 /* | |
| 58 * OBJECT IDENTIFIER | |
| 59 * | |
| 60 * This is the basic OID that crops up everywhere. | |
| 61 */ | |
| 62 | |
| 63 struct NSSOIDStr; | |
| 64 typedef struct NSSOIDStr NSSOID; | |
| 65 | |
| 66 /* | |
| 67 * AttributeTypeAndValue | |
| 68 * | |
| 69 * This structure contains an attribute type (indicated by an OID), | |
| 70 * and the type-specific value. RelativeDistinguishedNamess consist | |
| 71 * of a set of these. These are distinct from Attributes (which have | |
| 72 * SET of values), from AttributeDescriptions (which have qualifiers | |
| 73 * on the types), and from AttributeValueAssertions (which assert a | |
| 74 * a value comparison under some matching rule). | |
| 75 */ | |
| 76 | |
| 77 struct NSSATAVStr; | |
| 78 typedef struct NSSATAVStr NSSATAV; | |
| 79 | |
| 80 /* | |
| 81 * RelativeDistinguishedName | |
| 82 * | |
| 83 * This structure contains an unordered set of AttributeTypeAndValue | |
| 84 * objects. RDNs are used to distinguish a set of objects underneath | |
| 85 * a common object. | |
| 86 * | |
| 87 * Often, a single ATAV is sufficient to make a unique distinction. | |
| 88 * For example, if a company assigns its people unique uid values, | |
| 89 * then in the Name "uid=smith,ou=People,o=Acme,c=US" the "uid=smith" | |
| 90 * ATAV by itself forms an RDN. However, sometimes a set of ATAVs is | |
| 91 * needed. For example, if a company needed to distinguish between | |
| 92 * two Smiths by specifying their corporate divisions, then in the | |
| 93 * Name "(cn=Smith,ou=Sales),ou=People,o=Acme,c=US" the parenthesised | |
| 94 * set of ATAVs forms the RDN. | |
| 95 */ | |
| 96 | |
| 97 struct NSSRDNStr; | |
| 98 typedef struct NSSRDNStr NSSRDN; | |
| 99 | |
| 100 /* | |
| 101 * RDNSequence | |
| 102 * | |
| 103 * This structure contains a sequence of RelativeDistinguishedName | |
| 104 * objects. | |
| 105 */ | |
| 106 | |
| 107 struct NSSRDNSeqStr; | |
| 108 typedef struct NSSRDNSeqStr NSSRDNSeq; | |
| 109 | |
| 110 /* | |
| 111 * Name | |
| 112 * | |
| 113 * This structure contains a union of the possible name formats, | |
| 114 * which at the moment is limited to an RDNSequence. | |
| 115 */ | |
| 116 | |
| 117 struct NSSNameStr; | |
| 118 typedef struct NSSNameStr NSSName; | |
| 119 | |
| 120 /* | |
| 121 * NameChoice | |
| 122 * | |
| 123 * This enumeration is used to specify choice within a name. | |
| 124 */ | |
| 125 | |
| 126 enum NSSNameChoiceEnum { | |
| 127 NSSNameChoiceInvalid = -1, | |
| 128 NSSNameChoiceRdnSequence | |
| 129 }; | |
| 130 typedef enum NSSNameChoiceEnum NSSNameChoice; | |
| 131 | |
| 132 /* | |
| 133 * GeneralName | |
| 134 * | |
| 135 * This structure contains a union of the possible general names, | |
| 136 * of which there are several. | |
| 137 */ | |
| 138 | |
| 139 struct NSSGeneralNameStr; | |
| 140 typedef struct NSSGeneralNameStr NSSGeneralName; | |
| 141 | |
| 142 /* | |
| 143 * GeneralNameChoice | |
| 144 * | |
| 145 * This enumerates the possible general name types. | |
| 146 */ | |
| 147 | |
| 148 enum NSSGeneralNameChoiceEnum { | |
| 149 NSSGeneralNameChoiceInvalid = -1, | |
| 150 NSSGeneralNameChoiceOtherName = 0, | |
| 151 NSSGeneralNameChoiceRfc822Name = 1, | |
| 152 NSSGeneralNameChoiceDNSName = 2, | |
| 153 NSSGeneralNameChoiceX400Address = 3, | |
| 154 NSSGeneralNameChoiceDirectoryName = 4, | |
| 155 NSSGeneralNameChoiceEdiPartyName = 5, | |
| 156 NSSGeneralNameChoiceUniformResourceIdentifier = 6, | |
| 157 NSSGeneralNameChoiceIPAddress = 7, | |
| 158 NSSGeneralNameChoiceRegisteredID = 8 | |
| 159 }; | |
| 160 typedef enum NSSGeneralNameChoiceEnum NSSGeneralNameChoice; | |
| 161 | |
| 162 /* | |
| 163 * The "other" types of general names. | |
| 164 */ | |
| 165 | |
| 166 struct NSSOtherNameStr; | |
| 167 typedef struct NSSOtherNameStr NSSOtherName; | |
| 168 | |
| 169 struct NSSRFC822NameStr; | |
| 170 typedef struct NSSRFC822NameStr NSSRFC822Name; | |
| 171 | |
| 172 struct NSSDNSNameStr; | |
| 173 typedef struct NSSDNSNameStr NSSDNSName; | |
| 174 | |
| 175 struct NSSX400AddressStr; | |
| 176 typedef struct NSSX400AddressStr NSSX400Address; | |
| 177 | |
| 178 struct NSSEdiPartyNameStr; | |
| 179 typedef struct NSSEdiPartyNameStr NSSEdiPartyName; | |
| 180 | |
| 181 struct NSSURIStr; | |
| 182 typedef struct NSSURIStr NSSURI; | |
| 183 | |
| 184 struct NSSIPAddressStr; | |
| 185 typedef struct NSSIPAddressStr NSSIPAddress; | |
| 186 | |
| 187 struct NSSRegisteredIDStr; | |
| 188 typedef struct NSSRegisteredIDStr NSSRegisteredID; | |
| 189 | |
| 190 /* | |
| 191 * GeneralNameSeq | |
| 192 * | |
| 193 * This structure contains a sequence of GeneralName objects. | |
| 194 * Note that the PKIX documents refer to this as "GeneralNames," | |
| 195 * which differs from "GeneralName" by only one letter. To | |
| 196 * try to reduce confusion, we expand the name slightly to | |
| 197 * "GeneralNameSeq." | |
| 198 */ | |
| 199 | |
| 200 struct NSSGeneralNameSeqStr; | |
| 201 typedef struct NSSGeneralNameSeqStr NSSGeneralNameSeq; | |
| 202 | |
| 203 PR_END_EXTERN_C | |
| 204 | |
| 205 #endif /* NSSPKI1T_H */ | |
| OLD | NEW |