1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef nsNSSCallbacks_h
8 #define nsNSSCallbacks_h
10 #include "mozilla/Attributes.h"
11 #include "mozilla/BasePrincipal.h"
12 #include "mozilla/TimeStamp.h"
13 #include "mozilla/Vector.h"
17 #include "mozpkix/pkix.h"
18 #include "mozpkix/pkixtypes.h"
19 #include "nsIX509Cert.h"
22 using mozilla::OriginAttributes
;
23 using mozilla::TimeDuration
;
24 using mozilla::Vector
;
28 char* PK11PasswordPrompt(PK11SlotInfo
* slot
, PRBool retry
, void* arg
);
30 void HandshakeCallback(PRFileDesc
* fd
, void* client_data
);
31 void SecretCallback(PRFileDesc
* fd
, PRUint16 epoch
, SSLSecretDirection dir
,
32 PK11SymKey
* secret
, void* arg
);
33 SECStatus
CanFalseStartCallback(PRFileDesc
* fd
, void* client_data
,
34 PRBool
* canFalseStart
);
36 mozilla::pkix::Result
DoOCSPRequest(
37 const nsCString
& aiaLocation
, const OriginAttributes
& originAttributes
,
38 uint8_t (&ocspRequest
)[mozilla::pkix::OCSP_REQUEST_MAX_LENGTH
],
39 size_t ocspRequestLength
, TimeDuration timeout
,
40 /*out*/ Vector
<uint8_t>& result
);
42 nsCString
getKeaGroupName(uint32_t aKeaGroup
);
43 nsCString
getSignatureName(uint32_t aSignatureScheme
);
45 #endif // nsNSSCallbacks_h