Index: webrtc/rtc_base/opensslidentity.h |
diff --git a/webrtc/rtc_base/opensslidentity.h b/webrtc/rtc_base/opensslidentity.h |
index ed7c07299a40fef713c6bff8e0bb0fed1e082a4c..fbbc0667493f1c47c4e3468e8d7cd569a9a33265 100644 |
--- a/webrtc/rtc_base/opensslidentity.h |
+++ b/webrtc/rtc_base/opensslidentity.h |
@@ -62,9 +62,10 @@ class OpenSSLKeyPair { |
class OpenSSLCertificate : public SSLCertificate { |
public: |
// Caller retains ownership of the X509 object. |
- explicit OpenSSLCertificate(X509* x509) : x509_(x509) { |
- AddReference(); |
- } |
+ explicit OpenSSLCertificate(X509* x509); |
+ |
+ // Caller retains owership of STACK_OF(X509). |
+ explicit OpenSSLCertificate(STACK_OF(X509)* chain); |
static OpenSSLCertificate* Generate(OpenSSLKeyPair* key_pair, |
const SSLIdentityParams& params); |
@@ -100,9 +101,11 @@ class OpenSSLCertificate : public SSLCertificate { |
int64_t CertificateExpirationTime() const override; |
private: |
- void AddReference() const; |
+ void AddReference(X509* x509) const; |
X509* x509_; |
+ // Non-leaf certificate chain. |
+ std::vector<OpenSSLCertificate*> cert_chain_; |
RTC_DISALLOW_COPY_AND_ASSIGN(OpenSSLCertificate); |
}; |