PageRenderTime 82ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/gecko_api/include/nsIX509Cert.h

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