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/nsIX509CertDB.idl |
| 3 */ |
| 4 |
| 5 #ifndef __gen_nsIX509CertDB_h__ |
| 6 #define __gen_nsIX509CertDB_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 nsIX509Cert; /* forward declaration */ |
| 20 |
| 21 class nsILocalFile; /* forward declaration */ |
| 22 |
| 23 class nsIInterfaceRequestor; /* forward declaration */ |
| 24 |
| 25 #define NS_X509CERTDB_CONTRACTID "@mozilla.org/security/x509certdb;1" |
| 26 |
| 27 /* starting interface: nsIX509CertDB */ |
| 28 #define NS_IX509CERTDB_IID_STR "da48b3c0-1284-11d5-ac67-000064657374" |
| 29 |
| 30 #define NS_IX509CERTDB_IID \ |
| 31 {0xda48b3c0, 0x1284, 0x11d5, \ |
| 32 { 0xac, 0x67, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 }} |
| 33 |
| 34 /** |
| 35 * This represents a service to access and manipulate |
| 36 * X.509 certificates stored in a database. |
| 37 * |
| 38 * @status FROZEN |
| 39 */ |
| 40 class NS_NO_VTABLE nsIX509CertDB : public nsISupports { |
| 41 public: |
| 42 |
| 43 NS_DEFINE_STATIC_IID_ACCESSOR(NS_IX509CERTDB_IID) |
| 44 |
| 45 /** |
| 46 * Constants that define which usages a certificate |
| 47 * is trusted for. |
| 48 */ |
| 49 enum { UNTRUSTED = 0U }; |
| 50 |
| 51 enum { TRUSTED_SSL = 1U }; |
| 52 |
| 53 enum { TRUSTED_EMAIL = 2U }; |
| 54 |
| 55 enum { TRUSTED_OBJSIGN = 4U }; |
| 56 |
| 57 /** |
| 58 * Given a nickname and optionally a token, |
| 59 * locate the matching certificate. |
| 60 * |
| 61 * @param aToken Optionally limits the scope of |
| 62 * this function to a token device. |
| 63 * Can be null to mean any token. |
| 64 * @param aNickname The nickname to be used as the key |
| 65 * to find a certificate. |
| 66 * |
| 67 * @return The matching certificate if found. |
| 68 */ |
| 69 /* nsIX509Cert findCertByNickname (in nsISupports aToken, in AString aNickname
); */ |
| 70 NS_IMETHOD FindCertByNickname(nsISupports *aToken, const nsAString & aNickname
, nsIX509Cert **_retval) = 0; |
| 71 |
| 72 /** |
| 73 * Will find a certificate based on its dbkey |
| 74 * retrieved by getting the dbKey attribute of |
| 75 * the certificate. |
| 76 * |
| 77 * @param aDBkey Database internal key, as obtained using |
| 78 * attribute dbkey in nsIX509Cert. |
| 79 * @param aToken Optionally limits the scope of |
| 80 * this function to a token device. |
| 81 * Can be null to mean any token. |
| 82 */ |
| 83 /* nsIX509Cert findCertByDBKey (in string aDBkey, in nsISupports aToken); */ |
| 84 NS_IMETHOD FindCertByDBKey(const char *aDBkey, nsISupports *aToken, nsIX509Cer
t **_retval) = 0; |
| 85 |
| 86 /** |
| 87 * Obtain a list of certificate nicknames from the database. |
| 88 * What the name is depends on type: |
| 89 * user, ca, or server cert - the nickname |
| 90 * email cert - the email address |
| 91 * |
| 92 * @param aToken Optionally limits the scope of |
| 93 * this function to a token device. |
| 94 * Can be null to mean any token. |
| 95 * @param aType Type of certificate to obtain |
| 96 * See certificate type constants in nsIX509Cert. |
| 97 * @param count The number of nicknames in the returned array |
| 98 * @param certNameList The returned array of certificate nicknames. |
| 99 */ |
| 100 /* void findCertNicknames (in nsISupports aToken, in unsigned long aType, out
unsigned long count, [array, size_is (count)] out wstring certNameList); */ |
| 101 NS_IMETHOD FindCertNicknames(nsISupports *aToken, PRUint32 aType, PRUint32 *co
unt, PRUnichar ***certNameList) = 0; |
| 102 |
| 103 /** |
| 104 * Find the email encryption certificate by nickname. |
| 105 * |
| 106 * @param aNickname The nickname to be used as the key |
| 107 * to find the certificate. |
| 108 * |
| 109 * @return The matching certificate if found. |
| 110 */ |
| 111 /* nsIX509Cert findEmailEncryptionCert (in AString aNickname); */ |
| 112 NS_IMETHOD FindEmailEncryptionCert(const nsAString & aNickname, nsIX509Cert **
_retval) = 0; |
| 113 |
| 114 /** |
| 115 * Find the email signing certificate by nickname. |
| 116 * |
| 117 * @param aNickname The nickname to be used as the key |
| 118 * to find the certificate. |
| 119 * |
| 120 * @return The matching certificate if found. |
| 121 */ |
| 122 /* nsIX509Cert findEmailSigningCert (in AString aNickname); */ |
| 123 NS_IMETHOD FindEmailSigningCert(const nsAString & aNickname, nsIX509Cert **_re
tval) = 0; |
| 124 |
| 125 /** |
| 126 * Find a certificate by email address. |
| 127 * |
| 128 * @param aToken Optionally limits the scope of |
| 129 * this function to a token device. |
| 130 * Can be null to mean any token. |
| 131 * @param aEmailAddress The email address to be used as the key |
| 132 * to find the certificate. |
| 133 * |
| 134 * @return The matching certificate if found. |
| 135 */ |
| 136 /* nsIX509Cert findCertByEmailAddress (in nsISupports aToken, in string aEmail
Address); */ |
| 137 NS_IMETHOD FindCertByEmailAddress(nsISupports *aToken, const char *aEmailAddre
ss, nsIX509Cert **_retval) = 0; |
| 138 |
| 139 /** |
| 140 * Use this to import a stream sent down as a mime type into |
| 141 * the certificate database on the default token. |
| 142 * The stream may consist of one or more certificates. |
| 143 * |
| 144 * @param data The raw data to be imported |
| 145 * @param length The length of the data to be imported |
| 146 * @param type The type of the certificate, see constants in nsIX509Cert |
| 147 * @param ctx A UI context. |
| 148 */ |
| 149 /* void importCertificates ([array, size_is (length)] in octet data, in unsign
ed long length, in unsigned long type, in nsIInterfaceRequestor ctx); */ |
| 150 NS_IMETHOD ImportCertificates(PRUint8 *data, PRUint32 length, PRUint32 type, n
sIInterfaceRequestor *ctx) = 0; |
| 151 |
| 152 /** |
| 153 * Import another person's email certificate into the database. |
| 154 * |
| 155 * @param data The raw data to be imported |
| 156 * @param length The length of the data to be imported |
| 157 * @param ctx A UI context. |
| 158 */ |
| 159 /* void importEmailCertificate ([array, size_is (length)] in octet data, in un
signed long length, in nsIInterfaceRequestor ctx); */ |
| 160 NS_IMETHOD ImportEmailCertificate(PRUint8 *data, PRUint32 length, nsIInterface
Requestor *ctx) = 0; |
| 161 |
| 162 /** |
| 163 * Import a server machine's certificate into the database. |
| 164 * |
| 165 * @param data The raw data to be imported |
| 166 * @param length The length of the data to be imported |
| 167 * @param ctx A UI context. |
| 168 */ |
| 169 /* void importServerCertificate ([array, size_is (length)] in octet data, in u
nsigned long length, in nsIInterfaceRequestor ctx); */ |
| 170 NS_IMETHOD ImportServerCertificate(PRUint8 *data, PRUint32 length, nsIInterfac
eRequestor *ctx) = 0; |
| 171 |
| 172 /** |
| 173 * Import a personal certificate into the database, assuming |
| 174 * the database already contains the private key for this certificate. |
| 175 * |
| 176 * @param data The raw data to be imported |
| 177 * @param length The length of the data to be imported |
| 178 * @param ctx A UI context. |
| 179 */ |
| 180 /* void importUserCertificate ([array, size_is (length)] in octet data, in uns
igned long length, in nsIInterfaceRequestor ctx); */ |
| 181 NS_IMETHOD ImportUserCertificate(PRUint8 *data, PRUint32 length, nsIInterfaceR
equestor *ctx) = 0; |
| 182 |
| 183 /** |
| 184 * Delete a certificate stored in the database. |
| 185 * |
| 186 * @param aCert Delete this certificate. |
| 187 */ |
| 188 /* void deleteCertificate (in nsIX509Cert aCert); */ |
| 189 NS_IMETHOD DeleteCertificate(nsIX509Cert *aCert) = 0; |
| 190 |
| 191 /** |
| 192 * Modify the trust that is stored and associated to a certificate within |
| 193 * a database. Separate trust is stored for |
| 194 * One call manipulates the trust for one trust type only. |
| 195 * See the trust type constants defined within this interface. |
| 196 * |
| 197 * @param cert Change the stored trust of this certificate. |
| 198 * @param type The type of the certificate. See nsIX509Cert. |
| 199 * @param trust A bitmask. The new trust for the possible usages. |
| 200 * See the trust constants defined within this interface. |
| 201 */ |
| 202 /* void setCertTrust (in nsIX509Cert cert, in unsigned long type, in unsigned
long trust); */ |
| 203 NS_IMETHOD SetCertTrust(nsIX509Cert *cert, PRUint32 type, PRUint32 trust) = 0; |
| 204 |
| 205 /** |
| 206 * Query whether a certificate is trusted for a particular use. |
| 207 * |
| 208 * @param cert Obtain the stored trust of this certificate. |
| 209 * @param certType The type of the certificate. See nsIX509Cert. |
| 210 * @param trustType A single bit from the usages constants defined |
| 211 * within this interface. |
| 212 * |
| 213 * @return Returns true if the certificate is trusted for the given use. |
| 214 */ |
| 215 /* boolean isCertTrusted (in nsIX509Cert cert, in unsigned long certType, in u
nsigned long trustType); */ |
| 216 NS_IMETHOD IsCertTrusted(nsIX509Cert *cert, PRUint32 certType, PRUint32 trustT
ype, PRBool *_retval) = 0; |
| 217 |
| 218 /** |
| 219 * Import certificate(s) from file |
| 220 * |
| 221 * @param aToken Optionally limits the scope of |
| 222 * this function to a token device. |
| 223 * Can be null to mean any token. |
| 224 * @param aFile Identifies a file that contains the certificate |
| 225 * to be imported. |
| 226 * @param aType Describes the type of certificate that is going to |
| 227 * be imported. See type constants in nsIX509Cert. |
| 228 */ |
| 229 /* void importCertsFromFile (in nsISupports aToken, in nsILocalFile aFile, in
unsigned long aType); */ |
| 230 NS_IMETHOD ImportCertsFromFile(nsISupports *aToken, nsILocalFile *aFile, PRUin
t32 aType) = 0; |
| 231 |
| 232 /** |
| 233 * Import a PKCS#12 file containing cert(s) and key(s) into the database. |
| 234 * |
| 235 * @param aToken Optionally limits the scope of |
| 236 * this function to a token device. |
| 237 * Can be null to mean any token. |
| 238 * @param aFile Identifies a file that contains the data |
| 239 * to be imported. |
| 240 */ |
| 241 /* void importPKCS12File (in nsISupports aToken, in nsILocalFile aFile); */ |
| 242 NS_IMETHOD ImportPKCS12File(nsISupports *aToken, nsILocalFile *aFile) = 0; |
| 243 |
| 244 /** |
| 245 * Export a set of certs and keys from the database to a PKCS#12 file. |
| 246 * |
| 247 * @param aToken Optionally limits the scope of |
| 248 * this function to a token device. |
| 249 * Can be null to mean any token. |
| 250 * @param aFile Identifies a file that will be filled with the data |
| 251 * to be exported. |
| 252 * @param count The number of certificates to be exported. |
| 253 * @param aCerts The array of all certificates to be exported. |
| 254 */ |
| 255 /* void exportPKCS12File (in nsISupports aToken, in nsILocalFile aFile, in uns
igned long count, [array, size_is (count)] in nsIX509Cert aCerts); */ |
| 256 NS_IMETHOD ExportPKCS12File(nsISupports *aToken, nsILocalFile *aFile, PRUint32
count, nsIX509Cert **aCerts) = 0; |
| 257 |
| 258 /** |
| 259 * An array of all known OCSP responders within the scope of the |
| 260 * certificate database. |
| 261 * |
| 262 * @return Array of OCSP responders, entries are QIable to nsIOCSPResponder. |
| 263 */ |
| 264 /* nsIArray getOCSPResponders (); */ |
| 265 NS_IMETHOD GetOCSPResponders(nsIArray **_retval) = 0; |
| 266 |
| 267 /** |
| 268 * Whether OCSP is enabled in preferences. |
| 269 */ |
| 270 /* readonly attribute boolean isOcspOn; */ |
| 271 NS_IMETHOD GetIsOcspOn(PRBool *aIsOcspOn) = 0; |
| 272 |
| 273 /* nsIX509Cert constructX509FromBase64 (in string base64); */ |
| 274 NS_IMETHOD ConstructX509FromBase64(const char *base64, nsIX509Cert **_retval)
= 0; |
| 275 |
| 276 }; |
| 277 |
| 278 /* Use this macro when declaring classes that implement this interface. */ |
| 279 #define NS_DECL_NSIX509CERTDB \ |
| 280 NS_IMETHOD FindCertByNickname(nsISupports *aToken, const nsAString & aNickname
, nsIX509Cert **_retval); \ |
| 281 NS_IMETHOD FindCertByDBKey(const char *aDBkey, nsISupports *aToken, nsIX509Cer
t **_retval); \ |
| 282 NS_IMETHOD FindCertNicknames(nsISupports *aToken, PRUint32 aType, PRUint32 *co
unt, PRUnichar ***certNameList); \ |
| 283 NS_IMETHOD FindEmailEncryptionCert(const nsAString & aNickname, nsIX509Cert **
_retval); \ |
| 284 NS_IMETHOD FindEmailSigningCert(const nsAString & aNickname, nsIX509Cert **_re
tval); \ |
| 285 NS_IMETHOD FindCertByEmailAddress(nsISupports *aToken, const char *aEmailAddre
ss, nsIX509Cert **_retval); \ |
| 286 NS_IMETHOD ImportCertificates(PRUint8 *data, PRUint32 length, PRUint32 type, n
sIInterfaceRequestor *ctx); \ |
| 287 NS_IMETHOD ImportEmailCertificate(PRUint8 *data, PRUint32 length, nsIInterface
Requestor *ctx); \ |
| 288 NS_IMETHOD ImportServerCertificate(PRUint8 *data, PRUint32 length, nsIInterfac
eRequestor *ctx); \ |
| 289 NS_IMETHOD ImportUserCertificate(PRUint8 *data, PRUint32 length, nsIInterfaceR
equestor *ctx); \ |
| 290 NS_IMETHOD DeleteCertificate(nsIX509Cert *aCert); \ |
| 291 NS_IMETHOD SetCertTrust(nsIX509Cert *cert, PRUint32 type, PRUint32 trust); \ |
| 292 NS_IMETHOD IsCertTrusted(nsIX509Cert *cert, PRUint32 certType, PRUint32 trustT
ype, PRBool *_retval); \ |
| 293 NS_IMETHOD ImportCertsFromFile(nsISupports *aToken, nsILocalFile *aFile, PRUin
t32 aType); \ |
| 294 NS_IMETHOD ImportPKCS12File(nsISupports *aToken, nsILocalFile *aFile); \ |
| 295 NS_IMETHOD ExportPKCS12File(nsISupports *aToken, nsILocalFile *aFile, PRUint32
count, nsIX509Cert **aCerts); \ |
| 296 NS_IMETHOD GetOCSPResponders(nsIArray **_retval); \ |
| 297 NS_IMETHOD GetIsOcspOn(PRBool *aIsOcspOn); \ |
| 298 NS_IMETHOD ConstructX509FromBase64(const char *base64, nsIX509Cert **_retval);
|
| 299 |
| 300 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object. */ |
| 301 #define NS_FORWARD_NSIX509CERTDB(_to) \ |
| 302 NS_IMETHOD FindCertByNickname(nsISupports *aToken, const nsAString & aNickname
, nsIX509Cert **_retval) { return _to FindCertByNickname(aToken, aNickname, _ret
val); } \ |
| 303 NS_IMETHOD FindCertByDBKey(const char *aDBkey, nsISupports *aToken, nsIX509Cer
t **_retval) { return _to FindCertByDBKey(aDBkey, aToken, _retval); } \ |
| 304 NS_IMETHOD FindCertNicknames(nsISupports *aToken, PRUint32 aType, PRUint32 *co
unt, PRUnichar ***certNameList) { return _to FindCertNicknames(aToken, aType, co
unt, certNameList); } \ |
| 305 NS_IMETHOD FindEmailEncryptionCert(const nsAString & aNickname, nsIX509Cert **
_retval) { return _to FindEmailEncryptionCert(aNickname, _retval); } \ |
| 306 NS_IMETHOD FindEmailSigningCert(const nsAString & aNickname, nsIX509Cert **_re
tval) { return _to FindEmailSigningCert(aNickname, _retval); } \ |
| 307 NS_IMETHOD FindCertByEmailAddress(nsISupports *aToken, const char *aEmailAddre
ss, nsIX509Cert **_retval) { return _to FindCertByEmailAddress(aToken, aEmailAdd
ress, _retval); } \ |
| 308 NS_IMETHOD ImportCertificates(PRUint8 *data, PRUint32 length, PRUint32 type, n
sIInterfaceRequestor *ctx) { return _to ImportCertificates(data, length, type, c
tx); } \ |
| 309 NS_IMETHOD ImportEmailCertificate(PRUint8 *data, PRUint32 length, nsIInterface
Requestor *ctx) { return _to ImportEmailCertificate(data, length, ctx); } \ |
| 310 NS_IMETHOD ImportServerCertificate(PRUint8 *data, PRUint32 length, nsIInterfac
eRequestor *ctx) { return _to ImportServerCertificate(data, length, ctx); } \ |
| 311 NS_IMETHOD ImportUserCertificate(PRUint8 *data, PRUint32 length, nsIInterfaceR
equestor *ctx) { return _to ImportUserCertificate(data, length, ctx); } \ |
| 312 NS_IMETHOD DeleteCertificate(nsIX509Cert *aCert) { return _to DeleteCertificat
e(aCert); } \ |
| 313 NS_IMETHOD SetCertTrust(nsIX509Cert *cert, PRUint32 type, PRUint32 trust) { re
turn _to SetCertTrust(cert, type, trust); } \ |
| 314 NS_IMETHOD IsCertTrusted(nsIX509Cert *cert, PRUint32 certType, PRUint32 trustT
ype, PRBool *_retval) { return _to IsCertTrusted(cert, certType, trustType, _ret
val); } \ |
| 315 NS_IMETHOD ImportCertsFromFile(nsISupports *aToken, nsILocalFile *aFile, PRUin
t32 aType) { return _to ImportCertsFromFile(aToken, aFile, aType); } \ |
| 316 NS_IMETHOD ImportPKCS12File(nsISupports *aToken, nsILocalFile *aFile) { return
_to ImportPKCS12File(aToken, aFile); } \ |
| 317 NS_IMETHOD ExportPKCS12File(nsISupports *aToken, nsILocalFile *aFile, PRUint32
count, nsIX509Cert **aCerts) { return _to ExportPKCS12File(aToken, aFile, count
, aCerts); } \ |
| 318 NS_IMETHOD GetOCSPResponders(nsIArray **_retval) { return _to GetOCSPResponder
s(_retval); } \ |
| 319 NS_IMETHOD GetIsOcspOn(PRBool *aIsOcspOn) { return _to GetIsOcspOn(aIsOcspOn);
} \ |
| 320 NS_IMETHOD ConstructX509FromBase64(const char *base64, nsIX509Cert **_retval)
{ return _to ConstructX509FromBase64(base64, _retval); } |
| 321 |
| 322 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object in a safe way. */ |
| 323 #define NS_FORWARD_SAFE_NSIX509CERTDB(_to) \ |
| 324 NS_IMETHOD FindCertByNickname(nsISupports *aToken, const nsAString & aNickname
, nsIX509Cert **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindCertBy
Nickname(aToken, aNickname, _retval); } \ |
| 325 NS_IMETHOD FindCertByDBKey(const char *aDBkey, nsISupports *aToken, nsIX509Cer
t **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindCertByDBKey(aDBkey
, aToken, _retval); } \ |
| 326 NS_IMETHOD FindCertNicknames(nsISupports *aToken, PRUint32 aType, PRUint32 *co
unt, PRUnichar ***certNameList) { return !_to ? NS_ERROR_NULL_POINTER : _to->Fin
dCertNicknames(aToken, aType, count, certNameList); } \ |
| 327 NS_IMETHOD FindEmailEncryptionCert(const nsAString & aNickname, nsIX509Cert **
_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindEmailEncryptionCert(aN
ickname, _retval); } \ |
| 328 NS_IMETHOD FindEmailSigningCert(const nsAString & aNickname, nsIX509Cert **_re
tval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindEmailSigningCert(aNicknam
e, _retval); } \ |
| 329 NS_IMETHOD FindCertByEmailAddress(nsISupports *aToken, const char *aEmailAddre
ss, nsIX509Cert **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindCert
ByEmailAddress(aToken, aEmailAddress, _retval); } \ |
| 330 NS_IMETHOD ImportCertificates(PRUint8 *data, PRUint32 length, PRUint32 type, n
sIInterfaceRequestor *ctx) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportCe
rtificates(data, length, type, ctx); } \ |
| 331 NS_IMETHOD ImportEmailCertificate(PRUint8 *data, PRUint32 length, nsIInterface
Requestor *ctx) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportEmailCertific
ate(data, length, ctx); } \ |
| 332 NS_IMETHOD ImportServerCertificate(PRUint8 *data, PRUint32 length, nsIInterfac
eRequestor *ctx) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportServerCertif
icate(data, length, ctx); } \ |
| 333 NS_IMETHOD ImportUserCertificate(PRUint8 *data, PRUint32 length, nsIInterfaceR
equestor *ctx) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportUserCertificat
e(data, length, ctx); } \ |
| 334 NS_IMETHOD DeleteCertificate(nsIX509Cert *aCert) { return !_to ? NS_ERROR_NULL
_POINTER : _to->DeleteCertificate(aCert); } \ |
| 335 NS_IMETHOD SetCertTrust(nsIX509Cert *cert, PRUint32 type, PRUint32 trust) { re
turn !_to ? NS_ERROR_NULL_POINTER : _to->SetCertTrust(cert, type, trust); } \ |
| 336 NS_IMETHOD IsCertTrusted(nsIX509Cert *cert, PRUint32 certType, PRUint32 trustT
ype, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsCertTrusted
(cert, certType, trustType, _retval); } \ |
| 337 NS_IMETHOD ImportCertsFromFile(nsISupports *aToken, nsILocalFile *aFile, PRUin
t32 aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportCertsFromFile(aTok
en, aFile, aType); } \ |
| 338 NS_IMETHOD ImportPKCS12File(nsISupports *aToken, nsILocalFile *aFile) { return
!_to ? NS_ERROR_NULL_POINTER : _to->ImportPKCS12File(aToken, aFile); } \ |
| 339 NS_IMETHOD ExportPKCS12File(nsISupports *aToken, nsILocalFile *aFile, PRUint32
count, nsIX509Cert **aCerts) { return !_to ? NS_ERROR_NULL_POINTER : _to->Expor
tPKCS12File(aToken, aFile, count, aCerts); } \ |
| 340 NS_IMETHOD GetOCSPResponders(nsIArray **_retval) { return !_to ? NS_ERROR_NULL
_POINTER : _to->GetOCSPResponders(_retval); } \ |
| 341 NS_IMETHOD GetIsOcspOn(PRBool *aIsOcspOn) { return !_to ? NS_ERROR_NULL_POINTE
R : _to->GetIsOcspOn(aIsOcspOn); } \ |
| 342 NS_IMETHOD ConstructX509FromBase64(const char *base64, nsIX509Cert **_retval)
{ return !_to ? NS_ERROR_NULL_POINTER : _to->ConstructX509FromBase64(base64, _re
tval); } |
| 343 |
| 344 #if 0 |
| 345 /* Use the code below as a template for the implementation class for this interf
ace. */ |
| 346 |
| 347 /* Header file */ |
| 348 class nsX509CertDB : public nsIX509CertDB |
| 349 { |
| 350 public: |
| 351 NS_DECL_ISUPPORTS |
| 352 NS_DECL_NSIX509CERTDB |
| 353 |
| 354 nsX509CertDB(); |
| 355 |
| 356 private: |
| 357 ~nsX509CertDB(); |
| 358 |
| 359 protected: |
| 360 /* additional members */ |
| 361 }; |
| 362 |
| 363 /* Implementation file */ |
| 364 NS_IMPL_ISUPPORTS1(nsX509CertDB, nsIX509CertDB) |
| 365 |
| 366 nsX509CertDB::nsX509CertDB() |
| 367 { |
| 368 /* member initializers and constructor code */ |
| 369 } |
| 370 |
| 371 nsX509CertDB::~nsX509CertDB() |
| 372 { |
| 373 /* destructor code */ |
| 374 } |
| 375 |
| 376 /* nsIX509Cert findCertByNickname (in nsISupports aToken, in AString aNickname);
*/ |
| 377 NS_IMETHODIMP nsX509CertDB::FindCertByNickname(nsISupports *aToken, const nsAStr
ing & aNickname, nsIX509Cert **_retval) |
| 378 { |
| 379 return NS_ERROR_NOT_IMPLEMENTED; |
| 380 } |
| 381 |
| 382 /* nsIX509Cert findCertByDBKey (in string aDBkey, in nsISupports aToken); */ |
| 383 NS_IMETHODIMP nsX509CertDB::FindCertByDBKey(const char *aDBkey, nsISupports *aTo
ken, nsIX509Cert **_retval) |
| 384 { |
| 385 return NS_ERROR_NOT_IMPLEMENTED; |
| 386 } |
| 387 |
| 388 /* void findCertNicknames (in nsISupports aToken, in unsigned long aType, out un
signed long count, [array, size_is (count)] out wstring certNameList); */ |
| 389 NS_IMETHODIMP nsX509CertDB::FindCertNicknames(nsISupports *aToken, PRUint32 aTyp
e, PRUint32 *count, PRUnichar ***certNameList) |
| 390 { |
| 391 return NS_ERROR_NOT_IMPLEMENTED; |
| 392 } |
| 393 |
| 394 /* nsIX509Cert findEmailEncryptionCert (in AString aNickname); */ |
| 395 NS_IMETHODIMP nsX509CertDB::FindEmailEncryptionCert(const nsAString & aNickname,
nsIX509Cert **_retval) |
| 396 { |
| 397 return NS_ERROR_NOT_IMPLEMENTED; |
| 398 } |
| 399 |
| 400 /* nsIX509Cert findEmailSigningCert (in AString aNickname); */ |
| 401 NS_IMETHODIMP nsX509CertDB::FindEmailSigningCert(const nsAString & aNickname, ns
IX509Cert **_retval) |
| 402 { |
| 403 return NS_ERROR_NOT_IMPLEMENTED; |
| 404 } |
| 405 |
| 406 /* nsIX509Cert findCertByEmailAddress (in nsISupports aToken, in string aEmailAd
dress); */ |
| 407 NS_IMETHODIMP nsX509CertDB::FindCertByEmailAddress(nsISupports *aToken, const ch
ar *aEmailAddress, nsIX509Cert **_retval) |
| 408 { |
| 409 return NS_ERROR_NOT_IMPLEMENTED; |
| 410 } |
| 411 |
| 412 /* void importCertificates ([array, size_is (length)] in octet data, in unsigned
long length, in unsigned long type, in nsIInterfaceRequestor ctx); */ |
| 413 NS_IMETHODIMP nsX509CertDB::ImportCertificates(PRUint8 *data, PRUint32 length, P
RUint32 type, nsIInterfaceRequestor *ctx) |
| 414 { |
| 415 return NS_ERROR_NOT_IMPLEMENTED; |
| 416 } |
| 417 |
| 418 /* void importEmailCertificate ([array, size_is (length)] in octet data, in unsi
gned long length, in nsIInterfaceRequestor ctx); */ |
| 419 NS_IMETHODIMP nsX509CertDB::ImportEmailCertificate(PRUint8 *data, PRUint32 lengt
h, nsIInterfaceRequestor *ctx) |
| 420 { |
| 421 return NS_ERROR_NOT_IMPLEMENTED; |
| 422 } |
| 423 |
| 424 /* void importServerCertificate ([array, size_is (length)] in octet data, in uns
igned long length, in nsIInterfaceRequestor ctx); */ |
| 425 NS_IMETHODIMP nsX509CertDB::ImportServerCertificate(PRUint8 *data, PRUint32 leng
th, nsIInterfaceRequestor *ctx) |
| 426 { |
| 427 return NS_ERROR_NOT_IMPLEMENTED; |
| 428 } |
| 429 |
| 430 /* void importUserCertificate ([array, size_is (length)] in octet data, in unsig
ned long length, in nsIInterfaceRequestor ctx); */ |
| 431 NS_IMETHODIMP nsX509CertDB::ImportUserCertificate(PRUint8 *data, PRUint32 length
, nsIInterfaceRequestor *ctx) |
| 432 { |
| 433 return NS_ERROR_NOT_IMPLEMENTED; |
| 434 } |
| 435 |
| 436 /* void deleteCertificate (in nsIX509Cert aCert); */ |
| 437 NS_IMETHODIMP nsX509CertDB::DeleteCertificate(nsIX509Cert *aCert) |
| 438 { |
| 439 return NS_ERROR_NOT_IMPLEMENTED; |
| 440 } |
| 441 |
| 442 /* void setCertTrust (in nsIX509Cert cert, in unsigned long type, in unsigned lo
ng trust); */ |
| 443 NS_IMETHODIMP nsX509CertDB::SetCertTrust(nsIX509Cert *cert, PRUint32 type, PRUin
t32 trust) |
| 444 { |
| 445 return NS_ERROR_NOT_IMPLEMENTED; |
| 446 } |
| 447 |
| 448 /* boolean isCertTrusted (in nsIX509Cert cert, in unsigned long certType, in uns
igned long trustType); */ |
| 449 NS_IMETHODIMP nsX509CertDB::IsCertTrusted(nsIX509Cert *cert, PRUint32 certType,
PRUint32 trustType, PRBool *_retval) |
| 450 { |
| 451 return NS_ERROR_NOT_IMPLEMENTED; |
| 452 } |
| 453 |
| 454 /* void importCertsFromFile (in nsISupports aToken, in nsILocalFile aFile, in un
signed long aType); */ |
| 455 NS_IMETHODIMP nsX509CertDB::ImportCertsFromFile(nsISupports *aToken, nsILocalFil
e *aFile, PRUint32 aType) |
| 456 { |
| 457 return NS_ERROR_NOT_IMPLEMENTED; |
| 458 } |
| 459 |
| 460 /* void importPKCS12File (in nsISupports aToken, in nsILocalFile aFile); */ |
| 461 NS_IMETHODIMP nsX509CertDB::ImportPKCS12File(nsISupports *aToken, nsILocalFile *
aFile) |
| 462 { |
| 463 return NS_ERROR_NOT_IMPLEMENTED; |
| 464 } |
| 465 |
| 466 /* void exportPKCS12File (in nsISupports aToken, in nsILocalFile aFile, in unsig
ned long count, [array, size_is (count)] in nsIX509Cert aCerts); */ |
| 467 NS_IMETHODIMP nsX509CertDB::ExportPKCS12File(nsISupports *aToken, nsILocalFile *
aFile, PRUint32 count, nsIX509Cert **aCerts) |
| 468 { |
| 469 return NS_ERROR_NOT_IMPLEMENTED; |
| 470 } |
| 471 |
| 472 /* nsIArray getOCSPResponders (); */ |
| 473 NS_IMETHODIMP nsX509CertDB::GetOCSPResponders(nsIArray **_retval) |
| 474 { |
| 475 return NS_ERROR_NOT_IMPLEMENTED; |
| 476 } |
| 477 |
| 478 /* readonly attribute boolean isOcspOn; */ |
| 479 NS_IMETHODIMP nsX509CertDB::GetIsOcspOn(PRBool *aIsOcspOn) |
| 480 { |
| 481 return NS_ERROR_NOT_IMPLEMENTED; |
| 482 } |
| 483 |
| 484 /* nsIX509Cert constructX509FromBase64 (in string base64); */ |
| 485 NS_IMETHODIMP nsX509CertDB::ConstructX509FromBase64(const char *base64, nsIX509C
ert **_retval) |
| 486 { |
| 487 return NS_ERROR_NOT_IMPLEMENTED; |
| 488 } |
| 489 |
| 490 /* End of implementation class template. */ |
| 491 #endif |
| 492 |
| 493 |
| 494 #endif /* __gen_nsIX509CertDB_h__ */ |
OLD | NEW |