OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0
-Release/WINNT_5.2_Depend/mozilla/security/manager/ssl/public/nsIX509Cert.idl |
| 3 */ |
| 4 |
| 5 #ifndef __gen_nsIX509Cert_h__ |
| 6 #define __gen_nsIX509Cert_h__ |
| 7 |
| 8 |
| 9 #ifndef __gen_nsISupports_h__ |
| 10 #include "nsISupports.h" |
| 11 #endif |
| 12 |
| 13 /* For IDL files that don't want to include root IDL files. */ |
| 14 #ifndef NS_NO_VTABLE |
| 15 #define NS_NO_VTABLE |
| 16 #endif |
| 17 class nsIArray; /* forward declaration */ |
| 18 |
| 19 class nsIX509CertValidity; /* forward declaration */ |
| 20 |
| 21 class nsIASN1Object; /* forward declaration */ |
| 22 |
| 23 |
| 24 /* starting interface: nsIX509Cert */ |
| 25 #define NS_IX509CERT_IID_STR "f0980f60-ee3d-11d4-998b-00b0d02354a0" |
| 26 |
| 27 #define NS_IX509CERT_IID \ |
| 28 {0xf0980f60, 0xee3d, 0x11d4, \ |
| 29 { 0x99, 0x8b, 0x00, 0xb0, 0xd0, 0x23, 0x54, 0xa0 }} |
| 30 |
| 31 /** |
| 32 * This represents a X.509 certificate. |
| 33 * |
| 34 * @status FROZEN |
| 35 */ |
| 36 class NS_NO_VTABLE nsIX509Cert : public nsISupports { |
| 37 public: |
| 38 |
| 39 NS_DEFINE_STATIC_IID_ACCESSOR(NS_IX509CERT_IID) |
| 40 |
| 41 /** |
| 42 * A nickname for the certificate. |
| 43 */ |
| 44 /* readonly attribute AString nickname; */ |
| 45 NS_IMETHOD GetNickname(nsAString & aNickname) = 0; |
| 46 |
| 47 /** |
| 48 * The primary email address of the certificate, if present. |
| 49 */ |
| 50 /* readonly attribute AString emailAddress; */ |
| 51 NS_IMETHOD GetEmailAddress(nsAString & aEmailAddress) = 0; |
| 52 |
| 53 /** |
| 54 * Obtain a list of all email addresses |
| 55 * contained in the certificate. |
| 56 * |
| 57 * @param length The number of strings in the returned array. |
| 58 * @return An array of email addresses. |
| 59 */ |
| 60 /* void getEmailAddresses (out unsigned long length, [array, size_is (length),
retval] out wstring addresses); */ |
| 61 NS_IMETHOD GetEmailAddresses(PRUint32 *length, PRUnichar ***addresses) = 0; |
| 62 |
| 63 /** |
| 64 * Check whether a given address is contained in the certificate. |
| 65 * The comparison will convert the email address to lowercase. |
| 66 * The behaviour for non ASCII characters is undefined. |
| 67 * |
| 68 * @param aEmailAddress The address to search for. |
| 69 * |
| 70 * @return True if the address is contained in the certificate. |
| 71 */ |
| 72 /* boolean containsEmailAddress (in AString aEmailAddress); */ |
| 73 NS_IMETHOD ContainsEmailAddress(const nsAString & aEmailAddress, PRBool *_retv
al) = 0; |
| 74 |
| 75 /** |
| 76 * The subject owning the certificate. |
| 77 */ |
| 78 /* readonly attribute AString subjectName; */ |
| 79 NS_IMETHOD GetSubjectName(nsAString & aSubjectName) = 0; |
| 80 |
| 81 /** |
| 82 * The subject's common name. |
| 83 */ |
| 84 /* readonly attribute AString commonName; */ |
| 85 NS_IMETHOD GetCommonName(nsAString & aCommonName) = 0; |
| 86 |
| 87 /** |
| 88 * The subject's organization. |
| 89 */ |
| 90 /* readonly attribute AString organization; */ |
| 91 NS_IMETHOD GetOrganization(nsAString & aOrganization) = 0; |
| 92 |
| 93 /** |
| 94 * The subject's organizational unit. |
| 95 */ |
| 96 /* readonly attribute AString organizationalUnit; */ |
| 97 NS_IMETHOD GetOrganizationalUnit(nsAString & aOrganizationalUnit) = 0; |
| 98 |
| 99 /** |
| 100 * The fingerprint of the certificate's public key, |
| 101 * calculated using the SHA1 algorithm. |
| 102 */ |
| 103 /* readonly attribute AString sha1Fingerprint; */ |
| 104 NS_IMETHOD GetSha1Fingerprint(nsAString & aSha1Fingerprint) = 0; |
| 105 |
| 106 /** |
| 107 * The fingerprint of the certificate's public key, |
| 108 * calculated using the MD5 algorithm. |
| 109 */ |
| 110 /* readonly attribute AString md5Fingerprint; */ |
| 111 NS_IMETHOD GetMd5Fingerprint(nsAString & aMd5Fingerprint) = 0; |
| 112 |
| 113 /** |
| 114 * A human readable name identifying the hardware or |
| 115 * software token the certificate is stored on. |
| 116 */ |
| 117 /* readonly attribute AString tokenName; */ |
| 118 NS_IMETHOD GetTokenName(nsAString & aTokenName) = 0; |
| 119 |
| 120 /** |
| 121 * The subject identifying the issuer certificate. |
| 122 */ |
| 123 /* readonly attribute AString issuerName; */ |
| 124 NS_IMETHOD GetIssuerName(nsAString & aIssuerName) = 0; |
| 125 |
| 126 /** |
| 127 * The serial number the issuer assigned to this certificate. |
| 128 */ |
| 129 /* readonly attribute AString serialNumber; */ |
| 130 NS_IMETHOD GetSerialNumber(nsAString & aSerialNumber) = 0; |
| 131 |
| 132 /** |
| 133 * The issuer subject's common name. |
| 134 */ |
| 135 /* readonly attribute AString issuerCommonName; */ |
| 136 NS_IMETHOD GetIssuerCommonName(nsAString & aIssuerCommonName) = 0; |
| 137 |
| 138 /** |
| 139 * The issuer subject's organization. |
| 140 */ |
| 141 /* readonly attribute AString issuerOrganization; */ |
| 142 NS_IMETHOD GetIssuerOrganization(nsAString & aIssuerOrganization) = 0; |
| 143 |
| 144 /** |
| 145 * The issuer subject's organizational unit. |
| 146 */ |
| 147 /* readonly attribute AString issuerOrganizationUnit; */ |
| 148 NS_IMETHOD GetIssuerOrganizationUnit(nsAString & aIssuerOrganizationUnit) = 0; |
| 149 |
| 150 /** |
| 151 * The certificate used by the issuer to sign this certificate. |
| 152 */ |
| 153 /* readonly attribute nsIX509Cert issuer; */ |
| 154 NS_IMETHOD GetIssuer(nsIX509Cert * *aIssuer) = 0; |
| 155 |
| 156 /** |
| 157 * This certificate's validity period. |
| 158 */ |
| 159 /* readonly attribute nsIX509CertValidity validity; */ |
| 160 NS_IMETHOD GetValidity(nsIX509CertValidity * *aValidity) = 0; |
| 161 |
| 162 /** |
| 163 * A unique identifier of this certificate within the local storage. |
| 164 */ |
| 165 /* readonly attribute string dbKey; */ |
| 166 NS_IMETHOD GetDbKey(char * *aDbKey) = 0; |
| 167 |
| 168 /** |
| 169 * A human readable identifier to label this certificate. |
| 170 */ |
| 171 /* readonly attribute string windowTitle; */ |
| 172 NS_IMETHOD GetWindowTitle(char * *aWindowTitle) = 0; |
| 173 |
| 174 /** |
| 175 * Constants to classify the type of a certificate. |
| 176 */ |
| 177 enum { UNKNOWN_CERT = 0U }; |
| 178 |
| 179 enum { CA_CERT = 1U }; |
| 180 |
| 181 enum { USER_CERT = 2U }; |
| 182 |
| 183 enum { EMAIL_CERT = 4U }; |
| 184 |
| 185 enum { SERVER_CERT = 8U }; |
| 186 |
| 187 /** |
| 188 * Constants for certificate verification results. |
| 189 */ |
| 190 enum { VERIFIED_OK = 0U }; |
| 191 |
| 192 enum { NOT_VERIFIED_UNKNOWN = 1U }; |
| 193 |
| 194 enum { CERT_REVOKED = 2U }; |
| 195 |
| 196 enum { CERT_EXPIRED = 4U }; |
| 197 |
| 198 enum { CERT_NOT_TRUSTED = 8U }; |
| 199 |
| 200 enum { ISSUER_NOT_TRUSTED = 16U }; |
| 201 |
| 202 enum { ISSUER_UNKNOWN = 32U }; |
| 203 |
| 204 enum { INVALID_CA = 64U }; |
| 205 |
| 206 enum { USAGE_NOT_ALLOWED = 128U }; |
| 207 |
| 208 /** |
| 209 * Constants that describe the certified usages of a certificate. |
| 210 */ |
| 211 enum { CERT_USAGE_SSLClient = 0U }; |
| 212 |
| 213 enum { CERT_USAGE_SSLServer = 1U }; |
| 214 |
| 215 enum { CERT_USAGE_SSLServerWithStepUp = 2U }; |
| 216 |
| 217 enum { CERT_USAGE_SSLCA = 3U }; |
| 218 |
| 219 enum { CERT_USAGE_EmailSigner = 4U }; |
| 220 |
| 221 enum { CERT_USAGE_EmailRecipient = 5U }; |
| 222 |
| 223 enum { CERT_USAGE_ObjectSigner = 6U }; |
| 224 |
| 225 enum { CERT_USAGE_UserCertImport = 7U }; |
| 226 |
| 227 enum { CERT_USAGE_VerifyCA = 8U }; |
| 228 |
| 229 enum { CERT_USAGE_ProtectedObjectSigner = 9U }; |
| 230 |
| 231 enum { CERT_USAGE_StatusResponder = 10U }; |
| 232 |
| 233 enum { CERT_USAGE_AnyCA = 11U }; |
| 234 |
| 235 /** |
| 236 * Obtain a list of certificates that contains this certificate |
| 237 * and the issuing certificates of all involved issuers, |
| 238 * up to the root issuer. |
| 239 * |
| 240 * @return The chain of certifficates including the issuers. |
| 241 */ |
| 242 /* nsIArray getChain (); */ |
| 243 NS_IMETHOD GetChain(nsIArray **_retval) = 0; |
| 244 |
| 245 /** |
| 246 * Obtain an array of human readable strings describing |
| 247 * the certificate's certified usages. |
| 248 * |
| 249 * @param ignoreOcsp Do not use OCSP even if it is currently activated. |
| 250 * @param verified The certificate verification result, see constants. |
| 251 * @param count The number of human readable usages returned. |
| 252 * @param usages The array of human readable usages. |
| 253 */ |
| 254 /* void getUsagesArray (in boolean ignoreOcsp, out PRUint32 verified, out PRUi
nt32 count, [array, size_is (count)] out wstring usages); */ |
| 255 NS_IMETHOD GetUsagesArray(PRBool ignoreOcsp, PRUint32 *verified, PRUint32 *cou
nt, PRUnichar ***usages) = 0; |
| 256 |
| 257 /** |
| 258 * Obtain a single comma separated human readable string describing |
| 259 * the certificate's certified usages. |
| 260 * |
| 261 * @param ignoreOcsp Do not use OCSP even if it is currently activated. |
| 262 * @param verified The certificate verification result, see constants. |
| 263 * @param purposes The string listing the usages. |
| 264 */ |
| 265 /* void getUsagesString (in boolean ignoreOcsp, out PRUint32 verified, out ASt
ring usages); */ |
| 266 NS_IMETHOD GetUsagesString(PRBool ignoreOcsp, PRUint32 *verified, nsAString &
usages) = 0; |
| 267 |
| 268 /** |
| 269 * Verify the certificate for a particular usage. |
| 270 * |
| 271 * @return The certificate verification result, see constants. |
| 272 */ |
| 273 /* unsigned long verifyForUsage (in unsigned long usage); */ |
| 274 NS_IMETHOD VerifyForUsage(PRUint32 usage, PRUint32 *_retval) = 0; |
| 275 |
| 276 /** |
| 277 * This is the attribute which describes the ASN1 layout |
| 278 * of the certificate. This can be used when doing a |
| 279 * "pretty print" of the certificate's ASN1 structure. |
| 280 */ |
| 281 /* readonly attribute nsIASN1Object ASN1Structure; */ |
| 282 NS_IMETHOD GetASN1Structure(nsIASN1Object * *aASN1Structure) = 0; |
| 283 |
| 284 /** |
| 285 * Obtain a raw binary encoding of this certificate |
| 286 * in DER format. |
| 287 * |
| 288 * @param length The number of bytes in the binary encoding. |
| 289 * @param data The bytes representing the DER encoded certificate. |
| 290 */ |
| 291 /* void getRawDER (out unsigned long length, [array, size_is (length), retval]
out octet data); */ |
| 292 NS_IMETHOD GetRawDER(PRUint32 *length, PRUint8 **data) = 0; |
| 293 |
| 294 /** |
| 295 * Test whether two certificate instances represent the |
| 296 * same certificate. |
| 297 * |
| 298 * @return Whether the certificates are equal |
| 299 */ |
| 300 /* boolean equals (in nsIX509Cert other); */ |
| 301 NS_IMETHOD Equals(nsIX509Cert *other, PRBool *_retval) = 0; |
| 302 |
| 303 }; |
| 304 |
| 305 /* Use this macro when declaring classes that implement this interface. */ |
| 306 #define NS_DECL_NSIX509CERT \ |
| 307 NS_IMETHOD GetNickname(nsAString & aNickname); \ |
| 308 NS_IMETHOD GetEmailAddress(nsAString & aEmailAddress); \ |
| 309 NS_IMETHOD GetEmailAddresses(PRUint32 *length, PRUnichar ***addresses); \ |
| 310 NS_IMETHOD ContainsEmailAddress(const nsAString & aEmailAddress, PRBool *_retv
al); \ |
| 311 NS_IMETHOD GetSubjectName(nsAString & aSubjectName); \ |
| 312 NS_IMETHOD GetCommonName(nsAString & aCommonName); \ |
| 313 NS_IMETHOD GetOrganization(nsAString & aOrganization); \ |
| 314 NS_IMETHOD GetOrganizationalUnit(nsAString & aOrganizationalUnit); \ |
| 315 NS_IMETHOD GetSha1Fingerprint(nsAString & aSha1Fingerprint); \ |
| 316 NS_IMETHOD GetMd5Fingerprint(nsAString & aMd5Fingerprint); \ |
| 317 NS_IMETHOD GetTokenName(nsAString & aTokenName); \ |
| 318 NS_IMETHOD GetIssuerName(nsAString & aIssuerName); \ |
| 319 NS_IMETHOD GetSerialNumber(nsAString & aSerialNumber); \ |
| 320 NS_IMETHOD GetIssuerCommonName(nsAString & aIssuerCommonName); \ |
| 321 NS_IMETHOD GetIssuerOrganization(nsAString & aIssuerOrganization); \ |
| 322 NS_IMETHOD GetIssuerOrganizationUnit(nsAString & aIssuerOrganizationUnit); \ |
| 323 NS_IMETHOD GetIssuer(nsIX509Cert * *aIssuer); \ |
| 324 NS_IMETHOD GetValidity(nsIX509CertValidity * *aValidity); \ |
| 325 NS_IMETHOD GetDbKey(char * *aDbKey); \ |
| 326 NS_IMETHOD GetWindowTitle(char * *aWindowTitle); \ |
| 327 NS_IMETHOD GetChain(nsIArray **_retval); \ |
| 328 NS_IMETHOD GetUsagesArray(PRBool ignoreOcsp, PRUint32 *verified, PRUint32 *cou
nt, PRUnichar ***usages); \ |
| 329 NS_IMETHOD GetUsagesString(PRBool ignoreOcsp, PRUint32 *verified, nsAString &
usages); \ |
| 330 NS_IMETHOD VerifyForUsage(PRUint32 usage, PRUint32 *_retval); \ |
| 331 NS_IMETHOD GetASN1Structure(nsIASN1Object * *aASN1Structure); \ |
| 332 NS_IMETHOD GetRawDER(PRUint32 *length, PRUint8 **data); \ |
| 333 NS_IMETHOD Equals(nsIX509Cert *other, PRBool *_retval); |
| 334 |
| 335 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object. */ |
| 336 #define NS_FORWARD_NSIX509CERT(_to) \ |
| 337 NS_IMETHOD GetNickname(nsAString & aNickname) { return _to GetNickname(aNickna
me); } \ |
| 338 NS_IMETHOD GetEmailAddress(nsAString & aEmailAddress) { return _to GetEmailAdd
ress(aEmailAddress); } \ |
| 339 NS_IMETHOD GetEmailAddresses(PRUint32 *length, PRUnichar ***addresses) { retur
n _to GetEmailAddresses(length, addresses); } \ |
| 340 NS_IMETHOD ContainsEmailAddress(const nsAString & aEmailAddress, PRBool *_retv
al) { return _to ContainsEmailAddress(aEmailAddress, _retval); } \ |
| 341 NS_IMETHOD GetSubjectName(nsAString & aSubjectName) { return _to GetSubjectNam
e(aSubjectName); } \ |
| 342 NS_IMETHOD GetCommonName(nsAString & aCommonName) { return _to GetCommonName(a
CommonName); } \ |
| 343 NS_IMETHOD GetOrganization(nsAString & aOrganization) { return _to GetOrganiza
tion(aOrganization); } \ |
| 344 NS_IMETHOD GetOrganizationalUnit(nsAString & aOrganizationalUnit) { return _to
GetOrganizationalUnit(aOrganizationalUnit); } \ |
| 345 NS_IMETHOD GetSha1Fingerprint(nsAString & aSha1Fingerprint) { return _to GetSh
a1Fingerprint(aSha1Fingerprint); } \ |
| 346 NS_IMETHOD GetMd5Fingerprint(nsAString & aMd5Fingerprint) { return _to GetMd5F
ingerprint(aMd5Fingerprint); } \ |
| 347 NS_IMETHOD GetTokenName(nsAString & aTokenName) { return _to GetTokenName(aTok
enName); } \ |
| 348 NS_IMETHOD GetIssuerName(nsAString & aIssuerName) { return _to GetIssuerName(a
IssuerName); } \ |
| 349 NS_IMETHOD GetSerialNumber(nsAString & aSerialNumber) { return _to GetSerialNu
mber(aSerialNumber); } \ |
| 350 NS_IMETHOD GetIssuerCommonName(nsAString & aIssuerCommonName) { return _to Get
IssuerCommonName(aIssuerCommonName); } \ |
| 351 NS_IMETHOD GetIssuerOrganization(nsAString & aIssuerOrganization) { return _to
GetIssuerOrganization(aIssuerOrganization); } \ |
| 352 NS_IMETHOD GetIssuerOrganizationUnit(nsAString & aIssuerOrganizationUnit) { re
turn _to GetIssuerOrganizationUnit(aIssuerOrganizationUnit); } \ |
| 353 NS_IMETHOD GetIssuer(nsIX509Cert * *aIssuer) { return _to GetIssuer(aIssuer);
} \ |
| 354 NS_IMETHOD GetValidity(nsIX509CertValidity * *aValidity) { return _to GetValid
ity(aValidity); } \ |
| 355 NS_IMETHOD GetDbKey(char * *aDbKey) { return _to GetDbKey(aDbKey); } \ |
| 356 NS_IMETHOD GetWindowTitle(char * *aWindowTitle) { return _to GetWindowTitle(aW
indowTitle); } \ |
| 357 NS_IMETHOD GetChain(nsIArray **_retval) { return _to GetChain(_retval); } \ |
| 358 NS_IMETHOD GetUsagesArray(PRBool ignoreOcsp, PRUint32 *verified, PRUint32 *cou
nt, PRUnichar ***usages) { return _to GetUsagesArray(ignoreOcsp, verified, count
, usages); } \ |
| 359 NS_IMETHOD GetUsagesString(PRBool ignoreOcsp, PRUint32 *verified, nsAString &
usages) { return _to GetUsagesString(ignoreOcsp, verified, usages); } \ |
| 360 NS_IMETHOD VerifyForUsage(PRUint32 usage, PRUint32 *_retval) { return _to Veri
fyForUsage(usage, _retval); } \ |
| 361 NS_IMETHOD GetASN1Structure(nsIASN1Object * *aASN1Structure) { return _to GetA
SN1Structure(aASN1Structure); } \ |
| 362 NS_IMETHOD GetRawDER(PRUint32 *length, PRUint8 **data) { return _to GetRawDER(
length, data); } \ |
| 363 NS_IMETHOD Equals(nsIX509Cert *other, PRBool *_retval) { return _to Equals(oth
er, _retval); } |
| 364 |
| 365 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object in a safe way. */ |
| 366 #define NS_FORWARD_SAFE_NSIX509CERT(_to) \ |
| 367 NS_IMETHOD GetNickname(nsAString & aNickname) { return !_to ? NS_ERROR_NULL_PO
INTER : _to->GetNickname(aNickname); } \ |
| 368 NS_IMETHOD GetEmailAddress(nsAString & aEmailAddress) { return !_to ? NS_ERROR
_NULL_POINTER : _to->GetEmailAddress(aEmailAddress); } \ |
| 369 NS_IMETHOD GetEmailAddresses(PRUint32 *length, PRUnichar ***addresses) { retur
n !_to ? NS_ERROR_NULL_POINTER : _to->GetEmailAddresses(length, addresses); } \ |
| 370 NS_IMETHOD ContainsEmailAddress(const nsAString & aEmailAddress, PRBool *_retv
al) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContainsEmailAddress(aEmailAddr
ess, _retval); } \ |
| 371 NS_IMETHOD GetSubjectName(nsAString & aSubjectName) { return !_to ? NS_ERROR_N
ULL_POINTER : _to->GetSubjectName(aSubjectName); } \ |
| 372 NS_IMETHOD GetCommonName(nsAString & aCommonName) { return !_to ? NS_ERROR_NUL
L_POINTER : _to->GetCommonName(aCommonName); } \ |
| 373 NS_IMETHOD GetOrganization(nsAString & aOrganization) { return !_to ? NS_ERROR
_NULL_POINTER : _to->GetOrganization(aOrganization); } \ |
| 374 NS_IMETHOD GetOrganizationalUnit(nsAString & aOrganizationalUnit) { return !_t
o ? NS_ERROR_NULL_POINTER : _to->GetOrganizationalUnit(aOrganizationalUnit); } \ |
| 375 NS_IMETHOD GetSha1Fingerprint(nsAString & aSha1Fingerprint) { return !_to ? NS
_ERROR_NULL_POINTER : _to->GetSha1Fingerprint(aSha1Fingerprint); } \ |
| 376 NS_IMETHOD GetMd5Fingerprint(nsAString & aMd5Fingerprint) { return !_to ? NS_E
RROR_NULL_POINTER : _to->GetMd5Fingerprint(aMd5Fingerprint); } \ |
| 377 NS_IMETHOD GetTokenName(nsAString & aTokenName) { return !_to ? NS_ERROR_NULL_
POINTER : _to->GetTokenName(aTokenName); } \ |
| 378 NS_IMETHOD GetIssuerName(nsAString & aIssuerName) { return !_to ? NS_ERROR_NUL
L_POINTER : _to->GetIssuerName(aIssuerName); } \ |
| 379 NS_IMETHOD GetSerialNumber(nsAString & aSerialNumber) { return !_to ? NS_ERROR
_NULL_POINTER : _to->GetSerialNumber(aSerialNumber); } \ |
| 380 NS_IMETHOD GetIssuerCommonName(nsAString & aIssuerCommonName) { return !_to ?
NS_ERROR_NULL_POINTER : _to->GetIssuerCommonName(aIssuerCommonName); } \ |
| 381 NS_IMETHOD GetIssuerOrganization(nsAString & aIssuerOrganization) { return !_t
o ? NS_ERROR_NULL_POINTER : _to->GetIssuerOrganization(aIssuerOrganization); } \ |
| 382 NS_IMETHOD GetIssuerOrganizationUnit(nsAString & aIssuerOrganizationUnit) { re
turn !_to ? NS_ERROR_NULL_POINTER : _to->GetIssuerOrganizationUnit(aIssuerOrgani
zationUnit); } \ |
| 383 NS_IMETHOD GetIssuer(nsIX509Cert * *aIssuer) { return !_to ? NS_ERROR_NULL_POI
NTER : _to->GetIssuer(aIssuer); } \ |
| 384 NS_IMETHOD GetValidity(nsIX509CertValidity * *aValidity) { return !_to ? NS_ER
ROR_NULL_POINTER : _to->GetValidity(aValidity); } \ |
| 385 NS_IMETHOD GetDbKey(char * *aDbKey) { return !_to ? NS_ERROR_NULL_POINTER : _t
o->GetDbKey(aDbKey); } \ |
| 386 NS_IMETHOD GetWindowTitle(char * *aWindowTitle) { return !_to ? NS_ERROR_NULL_
POINTER : _to->GetWindowTitle(aWindowTitle); } \ |
| 387 NS_IMETHOD GetChain(nsIArray **_retval) { return !_to ? NS_ERROR_NULL_POINTER
: _to->GetChain(_retval); } \ |
| 388 NS_IMETHOD GetUsagesArray(PRBool ignoreOcsp, PRUint32 *verified, PRUint32 *cou
nt, PRUnichar ***usages) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsagesA
rray(ignoreOcsp, verified, count, usages); } \ |
| 389 NS_IMETHOD GetUsagesString(PRBool ignoreOcsp, PRUint32 *verified, nsAString &
usages) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsagesString(ignoreOcsp,
verified, usages); } \ |
| 390 NS_IMETHOD VerifyForUsage(PRUint32 usage, PRUint32 *_retval) { return !_to ? N
S_ERROR_NULL_POINTER : _to->VerifyForUsage(usage, _retval); } \ |
| 391 NS_IMETHOD GetASN1Structure(nsIASN1Object * *aASN1Structure) { return !_to ? N
S_ERROR_NULL_POINTER : _to->GetASN1Structure(aASN1Structure); } \ |
| 392 NS_IMETHOD GetRawDER(PRUint32 *length, PRUint8 **data) { return !_to ? NS_ERRO
R_NULL_POINTER : _to->GetRawDER(length, data); } \ |
| 393 NS_IMETHOD Equals(nsIX509Cert *other, PRBool *_retval) { return !_to ? NS_ERRO
R_NULL_POINTER : _to->Equals(other, _retval); } |
| 394 |
| 395 #if 0 |
| 396 /* Use the code below as a template for the implementation class for this interf
ace. */ |
| 397 |
| 398 /* Header file */ |
| 399 class nsX509Cert : public nsIX509Cert |
| 400 { |
| 401 public: |
| 402 NS_DECL_ISUPPORTS |
| 403 NS_DECL_NSIX509CERT |
| 404 |
| 405 nsX509Cert(); |
| 406 |
| 407 private: |
| 408 ~nsX509Cert(); |
| 409 |
| 410 protected: |
| 411 /* additional members */ |
| 412 }; |
| 413 |
| 414 /* Implementation file */ |
| 415 NS_IMPL_ISUPPORTS1(nsX509Cert, nsIX509Cert) |
| 416 |
| 417 nsX509Cert::nsX509Cert() |
| 418 { |
| 419 /* member initializers and constructor code */ |
| 420 } |
| 421 |
| 422 nsX509Cert::~nsX509Cert() |
| 423 { |
| 424 /* destructor code */ |
| 425 } |
| 426 |
| 427 /* readonly attribute AString nickname; */ |
| 428 NS_IMETHODIMP nsX509Cert::GetNickname(nsAString & aNickname) |
| 429 { |
| 430 return NS_ERROR_NOT_IMPLEMENTED; |
| 431 } |
| 432 |
| 433 /* readonly attribute AString emailAddress; */ |
| 434 NS_IMETHODIMP nsX509Cert::GetEmailAddress(nsAString & aEmailAddress) |
| 435 { |
| 436 return NS_ERROR_NOT_IMPLEMENTED; |
| 437 } |
| 438 |
| 439 /* void getEmailAddresses (out unsigned long length, [array, size_is (length), r
etval] out wstring addresses); */ |
| 440 NS_IMETHODIMP nsX509Cert::GetEmailAddresses(PRUint32 *length, PRUnichar ***addre
sses) |
| 441 { |
| 442 return NS_ERROR_NOT_IMPLEMENTED; |
| 443 } |
| 444 |
| 445 /* boolean containsEmailAddress (in AString aEmailAddress); */ |
| 446 NS_IMETHODIMP nsX509Cert::ContainsEmailAddress(const nsAString & aEmailAddress,
PRBool *_retval) |
| 447 { |
| 448 return NS_ERROR_NOT_IMPLEMENTED; |
| 449 } |
| 450 |
| 451 /* readonly attribute AString subjectName; */ |
| 452 NS_IMETHODIMP nsX509Cert::GetSubjectName(nsAString & aSubjectName) |
| 453 { |
| 454 return NS_ERROR_NOT_IMPLEMENTED; |
| 455 } |
| 456 |
| 457 /* readonly attribute AString commonName; */ |
| 458 NS_IMETHODIMP nsX509Cert::GetCommonName(nsAString & aCommonName) |
| 459 { |
| 460 return NS_ERROR_NOT_IMPLEMENTED; |
| 461 } |
| 462 |
| 463 /* readonly attribute AString organization; */ |
| 464 NS_IMETHODIMP nsX509Cert::GetOrganization(nsAString & aOrganization) |
| 465 { |
| 466 return NS_ERROR_NOT_IMPLEMENTED; |
| 467 } |
| 468 |
| 469 /* readonly attribute AString organizationalUnit; */ |
| 470 NS_IMETHODIMP nsX509Cert::GetOrganizationalUnit(nsAString & aOrganizationalUnit) |
| 471 { |
| 472 return NS_ERROR_NOT_IMPLEMENTED; |
| 473 } |
| 474 |
| 475 /* readonly attribute AString sha1Fingerprint; */ |
| 476 NS_IMETHODIMP nsX509Cert::GetSha1Fingerprint(nsAString & aSha1Fingerprint) |
| 477 { |
| 478 return NS_ERROR_NOT_IMPLEMENTED; |
| 479 } |
| 480 |
| 481 /* readonly attribute AString md5Fingerprint; */ |
| 482 NS_IMETHODIMP nsX509Cert::GetMd5Fingerprint(nsAString & aMd5Fingerprint) |
| 483 { |
| 484 return NS_ERROR_NOT_IMPLEMENTED; |
| 485 } |
| 486 |
| 487 /* readonly attribute AString tokenName; */ |
| 488 NS_IMETHODIMP nsX509Cert::GetTokenName(nsAString & aTokenName) |
| 489 { |
| 490 return NS_ERROR_NOT_IMPLEMENTED; |
| 491 } |
| 492 |
| 493 /* readonly attribute AString issuerName; */ |
| 494 NS_IMETHODIMP nsX509Cert::GetIssuerName(nsAString & aIssuerName) |
| 495 { |
| 496 return NS_ERROR_NOT_IMPLEMENTED; |
| 497 } |
| 498 |
| 499 /* readonly attribute AString serialNumber; */ |
| 500 NS_IMETHODIMP nsX509Cert::GetSerialNumber(nsAString & aSerialNumber) |
| 501 { |
| 502 return NS_ERROR_NOT_IMPLEMENTED; |
| 503 } |
| 504 |
| 505 /* readonly attribute AString issuerCommonName; */ |
| 506 NS_IMETHODIMP nsX509Cert::GetIssuerCommonName(nsAString & aIssuerCommonName) |
| 507 { |
| 508 return NS_ERROR_NOT_IMPLEMENTED; |
| 509 } |
| 510 |
| 511 /* readonly attribute AString issuerOrganization; */ |
| 512 NS_IMETHODIMP nsX509Cert::GetIssuerOrganization(nsAString & aIssuerOrganization) |
| 513 { |
| 514 return NS_ERROR_NOT_IMPLEMENTED; |
| 515 } |
| 516 |
| 517 /* readonly attribute AString issuerOrganizationUnit; */ |
| 518 NS_IMETHODIMP nsX509Cert::GetIssuerOrganizationUnit(nsAString & aIssuerOrganizat
ionUnit) |
| 519 { |
| 520 return NS_ERROR_NOT_IMPLEMENTED; |
| 521 } |
| 522 |
| 523 /* readonly attribute nsIX509Cert issuer; */ |
| 524 NS_IMETHODIMP nsX509Cert::GetIssuer(nsIX509Cert * *aIssuer) |
| 525 { |
| 526 return NS_ERROR_NOT_IMPLEMENTED; |
| 527 } |
| 528 |
| 529 /* readonly attribute nsIX509CertValidity validity; */ |
| 530 NS_IMETHODIMP nsX509Cert::GetValidity(nsIX509CertValidity * *aValidity) |
| 531 { |
| 532 return NS_ERROR_NOT_IMPLEMENTED; |
| 533 } |
| 534 |
| 535 /* readonly attribute string dbKey; */ |
| 536 NS_IMETHODIMP nsX509Cert::GetDbKey(char * *aDbKey) |
| 537 { |
| 538 return NS_ERROR_NOT_IMPLEMENTED; |
| 539 } |
| 540 |
| 541 /* readonly attribute string windowTitle; */ |
| 542 NS_IMETHODIMP nsX509Cert::GetWindowTitle(char * *aWindowTitle) |
| 543 { |
| 544 return NS_ERROR_NOT_IMPLEMENTED; |
| 545 } |
| 546 |
| 547 /* nsIArray getChain (); */ |
| 548 NS_IMETHODIMP nsX509Cert::GetChain(nsIArray **_retval) |
| 549 { |
| 550 return NS_ERROR_NOT_IMPLEMENTED; |
| 551 } |
| 552 |
| 553 /* void getUsagesArray (in boolean ignoreOcsp, out PRUint32 verified, out PRUint
32 count, [array, size_is (count)] out wstring usages); */ |
| 554 NS_IMETHODIMP nsX509Cert::GetUsagesArray(PRBool ignoreOcsp, PRUint32 *verified,
PRUint32 *count, PRUnichar ***usages) |
| 555 { |
| 556 return NS_ERROR_NOT_IMPLEMENTED; |
| 557 } |
| 558 |
| 559 /* void getUsagesString (in boolean ignoreOcsp, out PRUint32 verified, out AStri
ng usages); */ |
| 560 NS_IMETHODIMP nsX509Cert::GetUsagesString(PRBool ignoreOcsp, PRUint32 *verified,
nsAString & usages) |
| 561 { |
| 562 return NS_ERROR_NOT_IMPLEMENTED; |
| 563 } |
| 564 |
| 565 /* unsigned long verifyForUsage (in unsigned long usage); */ |
| 566 NS_IMETHODIMP nsX509Cert::VerifyForUsage(PRUint32 usage, PRUint32 *_retval) |
| 567 { |
| 568 return NS_ERROR_NOT_IMPLEMENTED; |
| 569 } |
| 570 |
| 571 /* readonly attribute nsIASN1Object ASN1Structure; */ |
| 572 NS_IMETHODIMP nsX509Cert::GetASN1Structure(nsIASN1Object * *aASN1Structure) |
| 573 { |
| 574 return NS_ERROR_NOT_IMPLEMENTED; |
| 575 } |
| 576 |
| 577 /* void getRawDER (out unsigned long length, [array, size_is (length), retval] o
ut octet data); */ |
| 578 NS_IMETHODIMP nsX509Cert::GetRawDER(PRUint32 *length, PRUint8 **data) |
| 579 { |
| 580 return NS_ERROR_NOT_IMPLEMENTED; |
| 581 } |
| 582 |
| 583 /* boolean equals (in nsIX509Cert other); */ |
| 584 NS_IMETHODIMP nsX509Cert::Equals(nsIX509Cert *other, PRBool *_retval) |
| 585 { |
| 586 return NS_ERROR_NOT_IMPLEMENTED; |
| 587 } |
| 588 |
| 589 /* End of implementation class template. */ |
| 590 #endif |
| 591 |
| 592 |
| 593 #endif /* __gen_nsIX509Cert_h__ */ |
OLD | NEW |