nsIBadCertListener.h
上传用户:goldcmy89
上传日期:2017-12-03
资源大小:2246k
文件大小:10k
源码类别:

PlugIns编程

开发平台:

Visual C++

  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/nsIBadCertListener.idl
  3.  */
  4. #ifndef __gen_nsIBadCertListener_h__
  5. #define __gen_nsIBadCertListener_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 nsIX509Cert; /* forward declaration */
  14. class nsIInterfaceRequestor; /* forward declaration */
  15. /* starting interface:    nsIBadCertListener */
  16. #define NS_IBADCERTLISTENER_IID_STR "86960956-edb0-11d4-998b-00b0d02354a0"
  17. #define NS_IBADCERTLISTENER_IID 
  18.   {0x86960956, 0xedb0, 0x11d4, 
  19.     { 0x99, 0x8b, 0x00, 0xb0, 0xd0, 0x23, 0x54, 0xa0 }}
  20. /**
  21.  * Functions that display warnings for problems with web site trust.
  22.  *
  23.  * @status FROZEN
  24.  */
  25. class NS_NO_VTABLE nsIBadCertListener : public nsISupports {
  26.  public: 
  27.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_IBADCERTLISTENER_IID)
  28.   /**
  29.    *  No decision was made by the user, whether to trust a cert.
  30.    */
  31.   enum { UNINIT_ADD_FLAG = -1 };
  32.   /**
  33.    *  The user decided to add trust to a certificate temporarily
  34.    *  for the current application session only.
  35.    */
  36.   enum { ADD_TRUSTED_FOR_SESSION = 1 };
  37.   /**
  38.    *  The user decided to add trust to a certificate permanently.
  39.    */
  40.   enum { ADD_TRUSTED_PERMANENTLY = 2 };
  41.   /**
  42.    *  Inform the user there are problems with the trust of a certificate,
  43.    *  and request a decision from the user.
  44.    *  The UI should offer the user a way to look at the certificate in detail.
  45.    *  The following is a sample UI message to be shown to the user:
  46.    *
  47.    *    Unable to verify the identity of %S as a trusted site.
  48.    *    Possible reasons for this error:
  49.    *    - Your browser does not recognize the Certificate Authority 
  50.    *      that issued the site's certificate.
  51.    *    - The site's certificate is incomplete due to a 
  52.    *      server misconfiguration.
  53.    *    - You are connected to a site pretending to be %S, 
  54.    *      possibly to obtain your confidential information.
  55.    *    Please notify the site's webmaster about this problem.
  56.    *    Before accepting this certificate, you should examine this site's 
  57.    *      certificate carefully. Are you willing to to accept this certificate 
  58.    *      for the purpose of identifying the Web site %S?
  59.    *    o Accept this certificate permanently
  60.    *    x Accept this certificate temporarily for this session
  61.    *    o Do not accept this certificate and do not connect to this Web site
  62.    *
  63.    *  @param socketInfo A network communication context that can be used to obtain more information
  64.    *                    about the active connection.
  65.    *  @param cert The certificate that is not trusted and that is having the problem.
  66.    *  @param certAddType The user's trust decision. See constants defined above.
  67.    *
  68.    *  @return true if the user decided to connect anyway, false if the user decided to not connect
  69.    */
  70.   /* boolean confirmUnknownIssuer (in nsIInterfaceRequestor socketInfo, in nsIX509Cert cert, out short certAddType); */
  71.   NS_IMETHOD ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRInt16 *certAddType, PRBool *_retval) = 0;
  72.   /**
  73.    *  Inform the user there are problems with the trust of a certificate,
  74.    *  and request a decision from the user.
  75.    *  The hostname mentioned in the server's certificate is not the hostname
  76.    *  that was used as a destination address for the current connection.
  77.    *
  78.    *  @param socketInfo A network communication context that can be used to obtain more information
  79.    *                    about the active connection.
  80.    *  @param targetURL The URL that was used to open the current connection.
  81.    *  @param cert The certificate that was presented by the server.
  82.    *
  83.    *  @return true if the user decided to connect anyway, false if the user decided to not connect
  84.    */
  85.   /* boolean confirmMismatchDomain (in nsIInterfaceRequestor socketInfo, in AUTF8String targetURL, in nsIX509Cert cert); */
  86.   NS_IMETHOD ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert, PRBool *_retval) = 0;
  87.   /**
  88.    *  Inform the user there are problems with the trust of a certificate,
  89.    *  and request a decision from the user.
  90.    *  The certificate presented by the server is no longer valid because 
  91.    *  the validity period has expired.
  92.    *
  93.    *  @param socketInfo A network communication context that can be used to obtain more information
  94.    *                    about the active connection.
  95.    *  @param cert The certificate that was presented by the server.
  96.    *
  97.    *  @return true if the user decided to connect anyway, false if the user decided to not connect
  98.    */
  99.   /* boolean confirmCertExpired (in nsIInterfaceRequestor socketInfo, in nsIX509Cert cert); */
  100.   NS_IMETHOD ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRBool *_retval) = 0;
  101.   /**
  102.    *  Inform the user there are problems with the trust of a certificate,
  103.    *  and request a decision from the user.
  104.    *  The Certificate Authority (CA) that issued the server's certificate has issued a 
  105.    *  Certificate Revocation List (CRL). 
  106.    *  However, the application does not have a current version of the CA's CRL.
  107.    *  Due to the application configuration, the application disallows the connection
  108.    *  to the remote site.
  109.    *
  110.    *  @param socketInfo A network communication context that can be used to obtain more information
  111.    *                    about the active connection.
  112.    *  @param targetURL The URL that was used to open the current connection.
  113.    *  @param cert The certificate that was presented by the server.
  114.    */
  115.   /* void notifyCrlNextupdate (in nsIInterfaceRequestor socketInfo, in AUTF8String targetURL, in nsIX509Cert cert); */
  116.   NS_IMETHOD NotifyCrlNextupdate(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert) = 0;
  117. };
  118. /* Use this macro when declaring classes that implement this interface. */
  119. #define NS_DECL_NSIBADCERTLISTENER 
  120.   NS_IMETHOD ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRInt16 *certAddType, PRBool *_retval); 
  121.   NS_IMETHOD ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert, PRBool *_retval); 
  122.   NS_IMETHOD ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRBool *_retval); 
  123.   NS_IMETHOD NotifyCrlNextupdate(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert); 
  124. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  125. #define NS_FORWARD_NSIBADCERTLISTENER(_to) 
  126.   NS_IMETHOD ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRInt16 *certAddType, PRBool *_retval) { return _to ConfirmUnknownIssuer(socketInfo, cert, certAddType, _retval); } 
  127.   NS_IMETHOD ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert, PRBool *_retval) { return _to ConfirmMismatchDomain(socketInfo, targetURL, cert, _retval); } 
  128.   NS_IMETHOD ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRBool *_retval) { return _to ConfirmCertExpired(socketInfo, cert, _retval); } 
  129.   NS_IMETHOD NotifyCrlNextupdate(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert) { return _to NotifyCrlNextupdate(socketInfo, targetURL, cert); } 
  130. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  131. #define NS_FORWARD_SAFE_NSIBADCERTLISTENER(_to) 
  132.   NS_IMETHOD ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRInt16 *certAddType, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConfirmUnknownIssuer(socketInfo, cert, certAddType, _retval); } 
  133.   NS_IMETHOD ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConfirmMismatchDomain(socketInfo, targetURL, cert, _retval); } 
  134.   NS_IMETHOD ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConfirmCertExpired(socketInfo, cert, _retval); } 
  135.   NS_IMETHOD NotifyCrlNextupdate(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyCrlNextupdate(socketInfo, targetURL, cert); } 
  136. #if 0
  137. /* Use the code below as a template for the implementation class for this interface. */
  138. /* Header file */
  139. class nsBadCertListener : public nsIBadCertListener
  140. {
  141. public:
  142.   NS_DECL_ISUPPORTS
  143.   NS_DECL_NSIBADCERTLISTENER
  144.   nsBadCertListener();
  145. private:
  146.   ~nsBadCertListener();
  147. protected:
  148.   /* additional members */
  149. };
  150. /* Implementation file */
  151. NS_IMPL_ISUPPORTS1(nsBadCertListener, nsIBadCertListener)
  152. nsBadCertListener::nsBadCertListener()
  153. {
  154.   /* member initializers and constructor code */
  155. }
  156. nsBadCertListener::~nsBadCertListener()
  157. {
  158.   /* destructor code */
  159. }
  160. /* boolean confirmUnknownIssuer (in nsIInterfaceRequestor socketInfo, in nsIX509Cert cert, out short certAddType); */
  161. NS_IMETHODIMP nsBadCertListener::ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRInt16 *certAddType, PRBool *_retval)
  162. {
  163.     return NS_ERROR_NOT_IMPLEMENTED;
  164. }
  165. /* boolean confirmMismatchDomain (in nsIInterfaceRequestor socketInfo, in AUTF8String targetURL, in nsIX509Cert cert); */
  166. NS_IMETHODIMP nsBadCertListener::ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert, PRBool *_retval)
  167. {
  168.     return NS_ERROR_NOT_IMPLEMENTED;
  169. }
  170. /* boolean confirmCertExpired (in nsIInterfaceRequestor socketInfo, in nsIX509Cert cert); */
  171. NS_IMETHODIMP nsBadCertListener::ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509Cert *cert, PRBool *_retval)
  172. {
  173.     return NS_ERROR_NOT_IMPLEMENTED;
  174. }
  175. /* void notifyCrlNextupdate (in nsIInterfaceRequestor socketInfo, in AUTF8String targetURL, in nsIX509Cert cert); */
  176. NS_IMETHODIMP nsBadCertListener::NotifyCrlNextupdate(nsIInterfaceRequestor *socketInfo, const nsACString & targetURL, nsIX509Cert *cert)
  177. {
  178.     return NS_ERROR_NOT_IMPLEMENTED;
  179. }
  180. /* End of implementation class template. */
  181. #endif
  182. #define NS_BADCERTLISTENER_CONTRACTID "@mozilla.org/nsBadCertListener;1"
  183. #endif /* __gen_nsIBadCertListener_h__ */