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