Chromium Code Reviews| Index: webrtc/rtc_base/opensslidentity.h |
| diff --git a/webrtc/rtc_base/opensslidentity.h b/webrtc/rtc_base/opensslidentity.h |
| index ed7c07299a40fef713c6bff8e0bb0fed1e082a4c..1154edb28282eb898d037de8379dc85e3f3d3f6c 100644 |
| --- a/webrtc/rtc_base/opensslidentity.h |
| +++ b/webrtc/rtc_base/opensslidentity.h |
| @@ -16,6 +16,7 @@ |
| #include <memory> |
| #include <string> |
| +#include <vector> |
| #include "webrtc/rtc_base/checks.h" |
| #include "webrtc/rtc_base/constructormagic.h" |
| @@ -62,9 +63,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 +102,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_; |
|
davidben_webrtc
2017/09/26 23:21:46
You don't seem to free this in the destructor. Thi
|
| RTC_DISALLOW_COPY_AND_ASSIGN(OpenSSLCertificate); |
| }; |