mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Implement OnSelectClientCertificate (fixes #3789)
This commit is contained in:
committed by
Marshall Greenblatt
parent
030272fe4c
commit
fc20e76d3b
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "cef/include/cef_x509_certificate.h"
|
||||
#include "net/cert/x509_certificate.h"
|
||||
#include "net/ssl/client_cert_identity.h"
|
||||
|
||||
// CefX509Certificate implementation
|
||||
class CefX509CertificateImpl : public CefX509Certificate {
|
||||
@@ -19,6 +20,9 @@ class CefX509CertificateImpl : public CefX509Certificate {
|
||||
CefX509CertificateImpl(const CefX509CertificateImpl&) = delete;
|
||||
CefX509CertificateImpl& operator=(const CefX509CertificateImpl&) = delete;
|
||||
|
||||
explicit CefX509CertificateImpl(
|
||||
std::unique_ptr<net::ClientCertIdentity> identity);
|
||||
|
||||
// CefX509Certificate methods.
|
||||
CefRefPtr<CefX509CertPrincipal> GetSubject() override;
|
||||
CefRefPtr<CefX509CertPrincipal> GetIssuer() override;
|
||||
@@ -32,10 +36,16 @@ class CefX509CertificateImpl : public CefX509Certificate {
|
||||
void GetPEMEncodedIssuerChain(IssuerChainBinaryList& chain) override;
|
||||
|
||||
scoped_refptr<net::X509Certificate> GetInternalCertObject() { return cert_; }
|
||||
void AcquirePrivateKey(
|
||||
base::OnceCallback<void(scoped_refptr<net::SSLPrivateKey>)>
|
||||
private_key_callback);
|
||||
|
||||
[[nodiscard]] std::unique_ptr<net::ClientCertIdentity> DisconnectIdentity();
|
||||
|
||||
private:
|
||||
void GetEncodedIssuerChain(IssuerChainBinaryList& chain, bool der);
|
||||
|
||||
std::unique_ptr<net::ClientCertIdentity> identity_;
|
||||
scoped_refptr<net::X509Certificate> cert_;
|
||||
IssuerChainBinaryList pem_encoded_issuer_chain_;
|
||||
IssuerChainBinaryList der_encoded_issuer_chain_;
|
||||
|
Reference in New Issue
Block a user