| Index: webrtc/base/rtccertificate.h
|
| diff --git a/webrtc/base/rtccertificate.h b/webrtc/base/rtccertificate.h
|
| index 600739bc86a9211172337e3b88d189f95835b839..214485a6f7a8a432ff56e3630defb4f791449780 100644
|
| --- a/webrtc/base/rtccertificate.h
|
| +++ b/webrtc/base/rtccertificate.h
|
| @@ -19,6 +19,26 @@
|
|
|
| namespace rtc {
|
|
|
| +// This class contains PEM strings of an RTCCertificate's private key and
|
| +// certificate and acts as a text representation of RTCCertificate. Certificates
|
| +// can be serialized and deserialized to and from this format, which allows for
|
| +// cloning and storing of certificates to disk.
|
| +class RTCCertificatePem {
|
| + public:
|
| + RTCCertificatePem(
|
| + const std::string& private_key,
|
| + const std::string& certificate)
|
| + : private_key_(private_key),
|
| + certificate_(certificate) {}
|
| +
|
| + const std::string& private_key() const { return private_key_; }
|
| + const std::string& certificate() const { return certificate_; }
|
| +
|
| + private:
|
| + std::string private_key_;
|
| + std::string certificate_;
|
| +};
|
| +
|
| // A thin abstraction layer between "lower level crypto stuff" like
|
| // SSLCertificate and WebRTC usage. Takes ownership of some lower level objects,
|
| // reference counting protects these from premature destruction.
|
| @@ -40,6 +60,10 @@ class RTCCertificate : public RefCountInterface {
|
| // However, some places might need SSLIdentity* for its public/private key...
|
| SSLIdentity* identity() const { return identity_.get(); }
|
|
|
| + // To/from PEM, a text representation of the RTCCertificate.
|
| + RTCCertificatePem ToPem() const;
|
| + static scoped_refptr<RTCCertificate> FromPem(const RTCCertificatePem& pem);
|
| +
|
| protected:
|
| explicit RTCCertificate(SSLIdentity* identity);
|
| ~RTCCertificate() override;
|
|
|