Index: talk/app/webrtc/test/fakedtlsidentitystore.h |
diff --git a/talk/app/webrtc/test/fakedtlsidentityservice.h b/talk/app/webrtc/test/fakedtlsidentitystore.h |
similarity index 70% |
rename from talk/app/webrtc/test/fakedtlsidentityservice.h |
rename to talk/app/webrtc/test/fakedtlsidentitystore.h |
index 6c59d4115a88024a33be854df38949dcf89f66ca..5ef19004a0c3abd3b8bda1a6697384f8deec09dc 100644 |
--- a/talk/app/webrtc/test/fakedtlsidentityservice.h |
+++ b/talk/app/webrtc/test/fakedtlsidentitystore.h |
@@ -28,6 +28,9 @@ |
#ifndef TALK_APP_WEBRTC_TEST_FAKEDTLSIDENTITYSERVICE_H_ |
#define TALK_APP_WEBRTC_TEST_FAKEDTLSIDENTITYSERVICE_H_ |
+#include <string> |
+ |
+#include "talk/app/webrtc/dtlsidentitystore.h" |
#include "talk/app/webrtc/peerconnectioninterface.h" |
static const char kRSA_PRIVATE_KEY_PEM[] = |
@@ -61,38 +64,28 @@ static const char kCERT_PEM[] = |
"UD0A8qfhfDM+LK6rPAnCsVN0NRDY3jvd6rzix9M=\n" |
"-----END CERTIFICATE-----\n"; |
-using webrtc::DTLSIdentityRequestObserver; |
- |
-class FakeIdentityService : public webrtc::DTLSIdentityServiceInterface, |
- public rtc::MessageHandler { |
+class FakeDtlsIdentityStore : public webrtc::DtlsIdentityStoreInterface, |
+ public rtc::MessageHandler { |
public: |
- struct Request { |
- Request(const std::string& common_name, |
- DTLSIdentityRequestObserver* observer) |
- : common_name(common_name), observer(observer) {} |
- |
- std::string common_name; |
- rtc::scoped_refptr<DTLSIdentityRequestObserver> observer; |
- }; |
- typedef rtc::TypedMessageData<Request> MessageData; |
+ typedef rtc::TypedMessageData<rtc::scoped_refptr< |
+ webrtc::DtlsIdentityRequestObserver> > MessageData; |
- FakeIdentityService() : should_fail_(false) {} |
+ FakeDtlsIdentityStore() : should_fail_(false) {} |
void set_should_fail(bool should_fail) { |
should_fail_ = should_fail; |
} |
- // DTLSIdentityServiceInterface implemenation. |
- virtual bool RequestIdentity(const std::string& identity_name, |
- const std::string& common_name, |
- DTLSIdentityRequestObserver* observer) { |
- MessageData* msg = new MessageData(Request(common_name, observer)); |
- if (should_fail_) { |
- rtc::Thread::Current()->Post(this, MSG_FAILURE, msg); |
- } else { |
- rtc::Thread::Current()->Post(this, MSG_SUCCESS, msg); |
- } |
- return true; |
+ void RequestIdentity( |
+ rtc::KeyType key_type, |
+ const rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver>& |
+ observer) override { |
+ // TODO(hbos): Should be able to generate KT_ECDSA too. |
+ DCHECK(key_type == rtc::KT_RSA || should_fail_); |
+ MessageData* msg = new MessageData( |
+ rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver>(observer)); |
+ rtc::Thread::Current()->Post( |
+ this, should_fail_ ? MSG_FAILURE : MSG_SUCCESS, msg); |
} |
private: |
@@ -103,13 +96,16 @@ class FakeIdentityService : public webrtc::DTLSIdentityServiceInterface, |
// rtc::MessageHandler implementation. |
void OnMessage(rtc::Message* msg) { |
- FakeIdentityService::MessageData* message_data = |
- static_cast<FakeIdentityService::MessageData*>(msg->pdata); |
- DTLSIdentityRequestObserver* observer = message_data->data().observer.get(); |
+ MessageData* message_data = static_cast<MessageData*>(msg->pdata); |
+ rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver> observer = |
+ message_data->data(); |
switch (msg->message_id) { |
case MSG_SUCCESS: { |
- std::string cert, key; |
- GenerateIdentity(message_data->data().common_name, &cert, &key); |
+ std::string cert; |
+ std::string key; |
+ rtc::SSLIdentity::PemToDer("CERTIFICATE", kCERT_PEM, &cert); |
+ rtc::SSLIdentity::PemToDer("RSA PRIVATE KEY", kRSA_PRIVATE_KEY_PEM, |
+ &key); |
observer->OnSuccess(cert, key); |
break; |
} |
@@ -120,16 +116,6 @@ class FakeIdentityService : public webrtc::DTLSIdentityServiceInterface, |
delete message_data; |
} |
- void GenerateIdentity( |
- const std::string& common_name, |
- std::string* der_cert, |
- std::string* der_key) { |
- rtc::SSLIdentity::PemToDer("CERTIFICATE", kCERT_PEM, der_cert); |
- rtc::SSLIdentity::PemToDer("RSA PRIVATE KEY", |
- kRSA_PRIVATE_KEY_PEM, |
- der_key); |
- } |
- |
bool should_fail_; |
}; |