replaced by .editorconfig # ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D287866
59 lines
2.0 KiB
C++
59 lines
2.0 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_psm_VerifySSLServerCertChild_h_
|
|
#define mozilla_psm_VerifySSLServerCertChild_h_
|
|
|
|
#include "mozilla/psm/PVerifySSLServerCertChild.h"
|
|
|
|
#include "SSLServerCertVerification.h"
|
|
#include "mozilla/RefPtr.h"
|
|
#include "nsISupportsImpl.h"
|
|
#include "nsString.h"
|
|
#include "seccomon.h"
|
|
|
|
namespace mozilla {
|
|
namespace psm {
|
|
|
|
class DelegatedCredentialInfo;
|
|
|
|
// This class implements the socket process part of the server certificate
|
|
// verification IPC protocol.
|
|
class VerifySSLServerCertChild : public PVerifySSLServerCertChild {
|
|
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VerifySSLServerCertChild, override);
|
|
|
|
explicit VerifySSLServerCertChild(
|
|
SSLServerCertVerificationResult* aResultTask,
|
|
nsTArray<nsTArray<uint8_t>>&& aPeerCertChain, uint32_t aProviderFlags);
|
|
|
|
ipc::IPCResult RecvOnVerifySSLServerCertFinished(
|
|
nsTArray<ByteArray>&& aBuiltCertChain,
|
|
const uint16_t& aCertTransparencyStatus, const EVStatus& aEVStatus,
|
|
const bool& aSucceeded, int32_t aFinalError,
|
|
const nsITransportSecurityInfo::OverridableErrorCategory&
|
|
aOverridableErrorCategory,
|
|
const bool& aIsBuiltCertChainRootBuiltInRoot,
|
|
const bool& aMadeOCSPRequests);
|
|
|
|
private:
|
|
~VerifySSLServerCertChild() = default;
|
|
|
|
RefPtr<SSLServerCertVerificationResult> mResultTask;
|
|
nsTArray<nsTArray<uint8_t>> mPeerCertChain;
|
|
uint32_t mProviderFlags;
|
|
};
|
|
|
|
SECStatus RemoteProcessCertVerification(
|
|
nsTArray<nsTArray<uint8_t>>&& aPeerCertChain, const nsACString& aHostName,
|
|
int32_t aPort, const OriginAttributes& aOriginAttributes,
|
|
Maybe<nsTArray<uint8_t>>& aStapledOCSPResponse,
|
|
Maybe<nsTArray<uint8_t>>& aSctsFromTLSExtension,
|
|
Maybe<DelegatedCredentialInfo>& aDcInfo, uint32_t aProviderFlags,
|
|
uint32_t aCertVerifierFlags, SSLServerCertVerificationResult* aResultTask);
|
|
|
|
} // namespace psm
|
|
} // namespace mozilla
|
|
|
|
#endif
|