| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromeos/dbus/cryptohome_client.h" | 5 #include "chromeos/dbus/cryptohome_client.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "chromeos/cryptohome/async_method_caller.h" | 9 #include "chromeos/cryptohome/async_method_caller.h" |
| 10 #include "chromeos/dbus/blocking_method_caller.h" | 10 #include "chromeos/dbus/blocking_method_caller.h" |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 } | 405 } |
| 406 | 406 |
| 407 // CryptohomeClient override. | 407 // CryptohomeClient override. |
| 408 virtual void AsyncTpmAttestationCreateCertRequest( | 408 virtual void AsyncTpmAttestationCreateCertRequest( |
| 409 int options, | 409 int options, |
| 410 const AsyncMethodCallback& callback) OVERRIDE { | 410 const AsyncMethodCallback& callback) OVERRIDE { |
| 411 dbus::MethodCall method_call( | 411 dbus::MethodCall method_call( |
| 412 cryptohome::kCryptohomeInterface, | 412 cryptohome::kCryptohomeInterface, |
| 413 cryptohome::kCryptohomeAsyncTpmAttestationCreateCertRequest); | 413 cryptohome::kCryptohomeAsyncTpmAttestationCreateCertRequest); |
| 414 dbus::MessageWriter writer(&method_call); | 414 dbus::MessageWriter writer(&method_call); |
| 415 bool include_stable_id = (options & INCLUDE_STABLE_ID); | 415 bool include_stable_id = |
| 416 (options & attestation::CERTIFICATE_INCLUDE_STABLE_ID); |
| 416 writer.AppendBool(include_stable_id); | 417 writer.AppendBool(include_stable_id); |
| 417 bool include_device_state = (options & INCLUDE_DEVICE_STATE); | 418 bool include_device_state = |
| 419 (options & attestation::CERTIFICATE_INCLUDE_DEVICE_STATE); |
| 418 writer.AppendBool(include_device_state); | 420 writer.AppendBool(include_device_state); |
| 419 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 421 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 420 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, | 422 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, |
| 421 weak_ptr_factory_.GetWeakPtr(), | 423 weak_ptr_factory_.GetWeakPtr(), |
| 422 callback)); | 424 callback)); |
| 423 } | 425 } |
| 424 | 426 |
| 425 // CryptohomeClient override. | 427 // CryptohomeClient override. |
| 426 virtual void AsyncTpmAttestationFinishCertRequest( | 428 virtual void AsyncTpmAttestationFinishCertRequest( |
| 427 const std::string& pca_response, | 429 const std::string& pca_response, |
| 428 AttestationKeyType key_type, | 430 attestation::AttestationKeyType key_type, |
| 429 const std::string& key_name, | 431 const std::string& key_name, |
| 430 const AsyncMethodCallback& callback) OVERRIDE { | 432 const AsyncMethodCallback& callback) OVERRIDE { |
| 431 dbus::MethodCall method_call( | 433 dbus::MethodCall method_call( |
| 432 cryptohome::kCryptohomeInterface, | 434 cryptohome::kCryptohomeInterface, |
| 433 cryptohome::kCryptohomeAsyncTpmAttestationFinishCertRequest); | 435 cryptohome::kCryptohomeAsyncTpmAttestationFinishCertRequest); |
| 434 dbus::MessageWriter writer(&method_call); | 436 dbus::MessageWriter writer(&method_call); |
| 435 writer.AppendArrayOfBytes( | 437 writer.AppendArrayOfBytes( |
| 436 reinterpret_cast<const uint8*>(pca_response.data()), | 438 reinterpret_cast<const uint8*>(pca_response.data()), |
| 437 pca_response.size()); | 439 pca_response.size()); |
| 438 bool is_user_specific = (key_type == USER_KEY); | 440 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 439 writer.AppendBool(is_user_specific); | 441 writer.AppendBool(is_user_specific); |
| 440 writer.AppendString(key_name); | 442 writer.AppendString(key_name); |
| 441 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 443 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 442 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, | 444 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, |
| 443 weak_ptr_factory_.GetWeakPtr(), | 445 weak_ptr_factory_.GetWeakPtr(), |
| 444 callback)); | 446 callback)); |
| 445 } | 447 } |
| 446 | 448 |
| 447 // CryptohomeClient override. | 449 // CryptohomeClient override. |
| 448 virtual void TpmAttestationDoesKeyExist( | 450 virtual void TpmAttestationDoesKeyExist( |
| 449 AttestationKeyType key_type, | 451 attestation::AttestationKeyType key_type, |
| 450 const std::string& key_name, | 452 const std::string& key_name, |
| 451 const BoolDBusMethodCallback& callback) OVERRIDE { | 453 const BoolDBusMethodCallback& callback) OVERRIDE { |
| 452 dbus::MethodCall method_call( | 454 dbus::MethodCall method_call( |
| 453 cryptohome::kCryptohomeInterface, | 455 cryptohome::kCryptohomeInterface, |
| 454 cryptohome::kCryptohomeTpmAttestationDoesKeyExist); | 456 cryptohome::kCryptohomeTpmAttestationDoesKeyExist); |
| 455 dbus::MessageWriter writer(&method_call); | 457 dbus::MessageWriter writer(&method_call); |
| 456 bool is_user_specific = (key_type == USER_KEY); | 458 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 457 writer.AppendBool(is_user_specific); | 459 writer.AppendBool(is_user_specific); |
| 458 writer.AppendString(key_name); | 460 writer.AppendString(key_name); |
| 459 CallBoolMethod(&method_call, callback); | 461 CallBoolMethod(&method_call, callback); |
| 460 } | 462 } |
| 461 | 463 |
| 462 // CryptohomeClient override. | 464 // CryptohomeClient override. |
| 463 virtual void TpmAttestationGetCertificate( | 465 virtual void TpmAttestationGetCertificate( |
| 464 AttestationKeyType key_type, | 466 attestation::AttestationKeyType key_type, |
| 465 const std::string& key_name, | 467 const std::string& key_name, |
| 466 const DataMethodCallback& callback) OVERRIDE { | 468 const DataMethodCallback& callback) OVERRIDE { |
| 467 dbus::MethodCall method_call( | 469 dbus::MethodCall method_call( |
| 468 cryptohome::kCryptohomeInterface, | 470 cryptohome::kCryptohomeInterface, |
| 469 cryptohome::kCryptohomeTpmAttestationGetCertificate); | 471 cryptohome::kCryptohomeTpmAttestationGetCertificate); |
| 470 dbus::MessageWriter writer(&method_call); | 472 dbus::MessageWriter writer(&method_call); |
| 471 bool is_user_specific = (key_type == USER_KEY); | 473 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 472 writer.AppendBool(is_user_specific); | 474 writer.AppendBool(is_user_specific); |
| 473 writer.AppendString(key_name); | 475 writer.AppendString(key_name); |
| 474 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 476 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 475 base::Bind(&CryptohomeClientImpl::OnDataMethod, | 477 base::Bind(&CryptohomeClientImpl::OnDataMethod, |
| 476 weak_ptr_factory_.GetWeakPtr(), | 478 weak_ptr_factory_.GetWeakPtr(), |
| 477 callback)); | 479 callback)); |
| 478 } | 480 } |
| 479 | 481 |
| 480 // CryptohomeClient override. | 482 // CryptohomeClient override. |
| 481 virtual void TpmAttestationGetPublicKey( | 483 virtual void TpmAttestationGetPublicKey( |
| 482 AttestationKeyType key_type, | 484 attestation::AttestationKeyType key_type, |
| 483 const std::string& key_name, | 485 const std::string& key_name, |
| 484 const DataMethodCallback& callback) OVERRIDE { | 486 const DataMethodCallback& callback) OVERRIDE { |
| 485 dbus::MethodCall method_call( | 487 dbus::MethodCall method_call( |
| 486 cryptohome::kCryptohomeInterface, | 488 cryptohome::kCryptohomeInterface, |
| 487 cryptohome::kCryptohomeTpmAttestationGetPublicKey); | 489 cryptohome::kCryptohomeTpmAttestationGetPublicKey); |
| 488 dbus::MessageWriter writer(&method_call); | 490 dbus::MessageWriter writer(&method_call); |
| 489 bool is_user_specific = (key_type == USER_KEY); | 491 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 490 writer.AppendBool(is_user_specific); | 492 writer.AppendBool(is_user_specific); |
| 491 writer.AppendString(key_name); | 493 writer.AppendString(key_name); |
| 492 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 494 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 493 base::Bind(&CryptohomeClientImpl::OnDataMethod, | 495 base::Bind(&CryptohomeClientImpl::OnDataMethod, |
| 494 weak_ptr_factory_.GetWeakPtr(), | 496 weak_ptr_factory_.GetWeakPtr(), |
| 495 callback)); | 497 callback)); |
| 496 } | 498 } |
| 497 | 499 |
| 498 // CryptohomeClient override. | 500 // CryptohomeClient override. |
| 499 virtual void TpmAttestationRegisterKey( | 501 virtual void TpmAttestationRegisterKey( |
| 500 AttestationKeyType key_type, | 502 attestation::AttestationKeyType key_type, |
| 501 const std::string& key_name, | 503 const std::string& key_name, |
| 502 const AsyncMethodCallback& callback) OVERRIDE { | 504 const AsyncMethodCallback& callback) OVERRIDE { |
| 503 dbus::MethodCall method_call( | 505 dbus::MethodCall method_call( |
| 504 cryptohome::kCryptohomeInterface, | 506 cryptohome::kCryptohomeInterface, |
| 505 cryptohome::kCryptohomeTpmAttestationRegisterKey); | 507 cryptohome::kCryptohomeTpmAttestationRegisterKey); |
| 506 dbus::MessageWriter writer(&method_call); | 508 dbus::MessageWriter writer(&method_call); |
| 507 bool is_user_specific = (key_type == USER_KEY); | 509 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 508 writer.AppendBool(is_user_specific); | 510 writer.AppendBool(is_user_specific); |
| 509 writer.AppendString(key_name); | 511 writer.AppendString(key_name); |
| 510 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 512 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 511 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, | 513 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, |
| 512 weak_ptr_factory_.GetWeakPtr(), | 514 weak_ptr_factory_.GetWeakPtr(), |
| 513 callback)); | 515 callback)); |
| 514 } | 516 } |
| 515 | 517 |
| 516 // CryptohomeClient override. | 518 // CryptohomeClient override. |
| 517 virtual void TpmAttestationSignEnterpriseChallenge( | 519 virtual void TpmAttestationSignEnterpriseChallenge( |
| 518 AttestationKeyType key_type, | 520 attestation::AttestationKeyType key_type, |
| 519 const std::string& key_name, | 521 const std::string& key_name, |
| 520 const std::string& domain, | 522 const std::string& domain, |
| 521 const std::string& device_id, | 523 const std::string& device_id, |
| 522 AttestationChallengeOptions options, | 524 attestation::AttestationChallengeOptions options, |
| 523 const std::string& challenge, | 525 const std::string& challenge, |
| 524 const AsyncMethodCallback& callback) OVERRIDE { | 526 const AsyncMethodCallback& callback) OVERRIDE { |
| 525 dbus::MethodCall method_call( | 527 dbus::MethodCall method_call( |
| 526 cryptohome::kCryptohomeInterface, | 528 cryptohome::kCryptohomeInterface, |
| 527 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge); | 529 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge); |
| 528 dbus::MessageWriter writer(&method_call); | 530 dbus::MessageWriter writer(&method_call); |
| 529 bool is_user_specific = (key_type == USER_KEY); | 531 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 530 writer.AppendBool(is_user_specific); | 532 writer.AppendBool(is_user_specific); |
| 531 writer.AppendString(key_name); | 533 writer.AppendString(key_name); |
| 532 writer.AppendString(domain); | 534 writer.AppendString(domain); |
| 533 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(device_id.data()), | 535 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(device_id.data()), |
| 534 device_id.size()); | 536 device_id.size()); |
| 535 bool include_signed_public_key = (options & INCLUDE_SIGNED_PUBLIC_KEY); | 537 bool include_signed_public_key = |
| 538 (options & attestation::CHALLENGE_INCLUDE_SIGNED_PUBLIC_KEY); |
| 536 writer.AppendBool(include_signed_public_key); | 539 writer.AppendBool(include_signed_public_key); |
| 537 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), | 540 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), |
| 538 challenge.size()); | 541 challenge.size()); |
| 539 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 542 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 540 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, | 543 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, |
| 541 weak_ptr_factory_.GetWeakPtr(), | 544 weak_ptr_factory_.GetWeakPtr(), |
| 542 callback)); | 545 callback)); |
| 543 } | 546 } |
| 544 | 547 |
| 545 // CryptohomeClient override. | 548 // CryptohomeClient override. |
| 546 virtual void TpmAttestationSignSimpleChallenge( | 549 virtual void TpmAttestationSignSimpleChallenge( |
| 547 AttestationKeyType key_type, | 550 attestation::AttestationKeyType key_type, |
| 548 const std::string& key_name, | 551 const std::string& key_name, |
| 549 const std::string& challenge, | 552 const std::string& challenge, |
| 550 const AsyncMethodCallback& callback) OVERRIDE { | 553 const AsyncMethodCallback& callback) OVERRIDE { |
| 551 dbus::MethodCall method_call( | 554 dbus::MethodCall method_call( |
| 552 cryptohome::kCryptohomeInterface, | 555 cryptohome::kCryptohomeInterface, |
| 553 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge); | 556 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge); |
| 554 dbus::MessageWriter writer(&method_call); | 557 dbus::MessageWriter writer(&method_call); |
| 555 bool is_user_specific = (key_type == USER_KEY); | 558 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 556 writer.AppendBool(is_user_specific); | 559 writer.AppendBool(is_user_specific); |
| 557 writer.AppendString(key_name); | 560 writer.AppendString(key_name); |
| 558 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), | 561 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), |
| 559 challenge.size()); | 562 challenge.size()); |
| 560 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 563 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 561 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, | 564 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, |
| 562 weak_ptr_factory_.GetWeakPtr(), | 565 weak_ptr_factory_.GetWeakPtr(), |
| 563 callback)); | 566 callback)); |
| 564 } | 567 } |
| 565 | 568 |
| 566 // CryptohomeClient override. | 569 // CryptohomeClient override. |
| 567 virtual void TpmAttestationGetKeyPayload( | 570 virtual void TpmAttestationGetKeyPayload( |
| 568 AttestationKeyType key_type, | 571 attestation::AttestationKeyType key_type, |
| 569 const std::string& key_name, | 572 const std::string& key_name, |
| 570 const DataMethodCallback& callback) OVERRIDE { | 573 const DataMethodCallback& callback) OVERRIDE { |
| 571 dbus::MethodCall method_call( | 574 dbus::MethodCall method_call( |
| 572 cryptohome::kCryptohomeInterface, | 575 cryptohome::kCryptohomeInterface, |
| 573 cryptohome::kCryptohomeTpmAttestationGetKeyPayload); | 576 cryptohome::kCryptohomeTpmAttestationGetKeyPayload); |
| 574 dbus::MessageWriter writer(&method_call); | 577 dbus::MessageWriter writer(&method_call); |
| 575 bool is_user_specific = (key_type == USER_KEY); | 578 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 576 writer.AppendBool(is_user_specific); | 579 writer.AppendBool(is_user_specific); |
| 577 writer.AppendString(key_name); | 580 writer.AppendString(key_name); |
| 578 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 581 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 579 base::Bind(&CryptohomeClientImpl::OnDataMethod, | 582 base::Bind(&CryptohomeClientImpl::OnDataMethod, |
| 580 weak_ptr_factory_.GetWeakPtr(), | 583 weak_ptr_factory_.GetWeakPtr(), |
| 581 callback)); | 584 callback)); |
| 582 } | 585 } |
| 583 | 586 |
| 584 // CryptohomeClient override. | 587 // CryptohomeClient override. |
| 585 virtual void TpmAttestationSetKeyPayload( | 588 virtual void TpmAttestationSetKeyPayload( |
| 586 AttestationKeyType key_type, | 589 attestation::AttestationKeyType key_type, |
| 587 const std::string& key_name, | 590 const std::string& key_name, |
| 588 const std::string& payload, | 591 const std::string& payload, |
| 589 const BoolDBusMethodCallback& callback) OVERRIDE { | 592 const BoolDBusMethodCallback& callback) OVERRIDE { |
| 590 dbus::MethodCall method_call( | 593 dbus::MethodCall method_call( |
| 591 cryptohome::kCryptohomeInterface, | 594 cryptohome::kCryptohomeInterface, |
| 592 cryptohome::kCryptohomeTpmAttestationSetKeyPayload); | 595 cryptohome::kCryptohomeTpmAttestationSetKeyPayload); |
| 593 dbus::MessageWriter writer(&method_call); | 596 dbus::MessageWriter writer(&method_call); |
| 594 bool is_user_specific = (key_type == USER_KEY); | 597 bool is_user_specific = (key_type == attestation::KEY_USER); |
| 595 writer.AppendBool(is_user_specific); | 598 writer.AppendBool(is_user_specific); |
| 596 writer.AppendString(key_name); | 599 writer.AppendString(key_name); |
| 597 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(payload.data()), | 600 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(payload.data()), |
| 598 payload.size()); | 601 payload.size()); |
| 599 CallBoolMethod(&method_call, callback); | 602 CallBoolMethod(&method_call, callback); |
| 600 } | 603 } |
| 601 | 604 |
| 602 private: | 605 private: |
| 603 // Handles the result of AsyncXXX methods. | 606 // Handles the result of AsyncXXX methods. |
| 604 void OnAsyncMethodCall(const AsyncMethodCallback& callback, | 607 void OnAsyncMethodCall(const AsyncMethodCallback& callback, |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 // CryptohomeClient override. | 1039 // CryptohomeClient override. |
| 1037 virtual void AsyncTpmAttestationCreateCertRequest( | 1040 virtual void AsyncTpmAttestationCreateCertRequest( |
| 1038 int options, | 1041 int options, |
| 1039 const AsyncMethodCallback& callback) OVERRIDE { | 1042 const AsyncMethodCallback& callback) OVERRIDE { |
| 1040 ReturnAsyncMethodResult(callback, true); | 1043 ReturnAsyncMethodResult(callback, true); |
| 1041 } | 1044 } |
| 1042 | 1045 |
| 1043 // CryptohomeClient override. | 1046 // CryptohomeClient override. |
| 1044 virtual void AsyncTpmAttestationFinishCertRequest( | 1047 virtual void AsyncTpmAttestationFinishCertRequest( |
| 1045 const std::string& pca_response, | 1048 const std::string& pca_response, |
| 1046 AttestationKeyType key_type, | 1049 attestation::AttestationKeyType key_type, |
| 1047 const std::string& key_name, | 1050 const std::string& key_name, |
| 1048 const AsyncMethodCallback& callback) OVERRIDE { | 1051 const AsyncMethodCallback& callback) OVERRIDE { |
| 1049 ReturnAsyncMethodResult(callback, true); | 1052 ReturnAsyncMethodResult(callback, true); |
| 1050 } | 1053 } |
| 1051 | 1054 |
| 1052 // CryptohomeClient override. | 1055 // CryptohomeClient override. |
| 1053 virtual void TpmAttestationDoesKeyExist( | 1056 virtual void TpmAttestationDoesKeyExist( |
| 1054 AttestationKeyType key_type, | 1057 attestation::AttestationKeyType key_type, |
| 1055 const std::string& key_name, | 1058 const std::string& key_name, |
| 1056 const BoolDBusMethodCallback& callback) OVERRIDE { | 1059 const BoolDBusMethodCallback& callback) OVERRIDE { |
| 1057 MessageLoop::current()->PostTask( | 1060 MessageLoop::current()->PostTask( |
| 1058 FROM_HERE, | 1061 FROM_HERE, |
| 1059 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false)); | 1062 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false)); |
| 1060 } | 1063 } |
| 1061 | 1064 |
| 1062 // CryptohomeClient override. | 1065 // CryptohomeClient override. |
| 1063 virtual void TpmAttestationGetCertificate( | 1066 virtual void TpmAttestationGetCertificate( |
| 1064 AttestationKeyType key_type, | 1067 attestation::AttestationKeyType key_type, |
| 1065 const std::string& key_name, | 1068 const std::string& key_name, |
| 1066 const DataMethodCallback& callback) OVERRIDE { | 1069 const DataMethodCallback& callback) OVERRIDE { |
| 1067 MessageLoop::current()->PostTask( | 1070 MessageLoop::current()->PostTask( |
| 1068 FROM_HERE, | 1071 FROM_HERE, |
| 1069 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); | 1072 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); |
| 1070 } | 1073 } |
| 1071 | 1074 |
| 1072 // CryptohomeClient override. | 1075 // CryptohomeClient override. |
| 1073 virtual void TpmAttestationGetPublicKey( | 1076 virtual void TpmAttestationGetPublicKey( |
| 1074 AttestationKeyType key_type, | 1077 attestation::AttestationKeyType key_type, |
| 1075 const std::string& key_name, | 1078 const std::string& key_name, |
| 1076 const DataMethodCallback& callback) OVERRIDE { | 1079 const DataMethodCallback& callback) OVERRIDE { |
| 1077 MessageLoop::current()->PostTask( | 1080 MessageLoop::current()->PostTask( |
| 1078 FROM_HERE, | 1081 FROM_HERE, |
| 1079 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); | 1082 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); |
| 1080 } | 1083 } |
| 1081 | 1084 |
| 1082 // CryptohomeClient override. | 1085 // CryptohomeClient override. |
| 1083 virtual void TpmAttestationRegisterKey( | 1086 virtual void TpmAttestationRegisterKey( |
| 1084 AttestationKeyType key_type, | 1087 attestation::AttestationKeyType key_type, |
| 1085 const std::string& key_name, | 1088 const std::string& key_name, |
| 1086 const AsyncMethodCallback& callback) OVERRIDE { | 1089 const AsyncMethodCallback& callback) OVERRIDE { |
| 1087 ReturnAsyncMethodResult(callback, true); | 1090 ReturnAsyncMethodResult(callback, true); |
| 1088 } | 1091 } |
| 1089 | 1092 |
| 1090 // CryptohomeClient override. | 1093 // CryptohomeClient override. |
| 1091 virtual void TpmAttestationSignEnterpriseChallenge( | 1094 virtual void TpmAttestationSignEnterpriseChallenge( |
| 1092 AttestationKeyType key_type, | 1095 attestation::AttestationKeyType key_type, |
| 1093 const std::string& key_name, | 1096 const std::string& key_name, |
| 1094 const std::string& domain, | 1097 const std::string& domain, |
| 1095 const std::string& device_id, | 1098 const std::string& device_id, |
| 1096 AttestationChallengeOptions options, | 1099 attestation::AttestationChallengeOptions options, |
| 1097 const std::string& challenge, | 1100 const std::string& challenge, |
| 1098 const AsyncMethodCallback& callback) OVERRIDE { | 1101 const AsyncMethodCallback& callback) OVERRIDE { |
| 1099 ReturnAsyncMethodResult(callback, true); | 1102 ReturnAsyncMethodResult(callback, true); |
| 1100 } | 1103 } |
| 1101 | 1104 |
| 1102 // CryptohomeClient override. | 1105 // CryptohomeClient override. |
| 1103 virtual void TpmAttestationSignSimpleChallenge( | 1106 virtual void TpmAttestationSignSimpleChallenge( |
| 1104 AttestationKeyType key_type, | 1107 attestation::AttestationKeyType key_type, |
| 1105 const std::string& key_name, | 1108 const std::string& key_name, |
| 1106 const std::string& challenge, | 1109 const std::string& challenge, |
| 1107 const AsyncMethodCallback& callback) OVERRIDE { | 1110 const AsyncMethodCallback& callback) OVERRIDE { |
| 1108 ReturnAsyncMethodResult(callback, true); | 1111 ReturnAsyncMethodResult(callback, true); |
| 1109 } | 1112 } |
| 1110 | 1113 |
| 1111 virtual void TpmAttestationGetKeyPayload( | 1114 virtual void TpmAttestationGetKeyPayload( |
| 1112 AttestationKeyType key_type, | 1115 attestation::AttestationKeyType key_type, |
| 1113 const std::string& key_name, | 1116 const std::string& key_name, |
| 1114 const DataMethodCallback& callback) OVERRIDE { | 1117 const DataMethodCallback& callback) OVERRIDE { |
| 1115 MessageLoop::current()->PostTask( | 1118 MessageLoop::current()->PostTask( |
| 1116 FROM_HERE, | 1119 FROM_HERE, |
| 1117 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); | 1120 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false, std::string())); |
| 1118 } | 1121 } |
| 1119 | 1122 |
| 1120 virtual void TpmAttestationSetKeyPayload( | 1123 virtual void TpmAttestationSetKeyPayload( |
| 1121 AttestationKeyType key_type, | 1124 attestation::AttestationKeyType key_type, |
| 1122 const std::string& key_name, | 1125 const std::string& key_name, |
| 1123 const std::string& payload, | 1126 const std::string& payload, |
| 1124 const BoolDBusMethodCallback& callback) OVERRIDE { | 1127 const BoolDBusMethodCallback& callback) OVERRIDE { |
| 1125 MessageLoop::current()->PostTask( | 1128 MessageLoop::current()->PostTask( |
| 1126 FROM_HERE, | 1129 FROM_HERE, |
| 1127 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false)); | 1130 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, false)); |
| 1128 } | 1131 } |
| 1129 | 1132 |
| 1130 | 1133 |
| 1131 private: | 1134 private: |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1185 // static | 1188 // static |
| 1186 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, | 1189 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, |
| 1187 dbus::Bus* bus) { | 1190 dbus::Bus* bus) { |
| 1188 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 1191 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
| 1189 return new CryptohomeClientImpl(bus); | 1192 return new CryptohomeClientImpl(bus); |
| 1190 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 1193 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
| 1191 return new CryptohomeClientStubImpl(); | 1194 return new CryptohomeClientStubImpl(); |
| 1192 } | 1195 } |
| 1193 | 1196 |
| 1194 } // namespace chromeos | 1197 } // namespace chromeos |
| OLD | NEW |