blob: 389afe17bc6b6f4dd9866506c1aa29eb72437222 [file] [log] [blame]
// Copyright (c) 2025 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef QUICHE_BLIND_SIGN_AUTH_BLIND_SIGN_AUTH_TEST_DATA_H_
#define QUICHE_BLIND_SIGN_AUTH_BLIND_SIGN_AUTH_TEST_DATA_H_
#include <memory>
#include <string>
#include <utility>
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "anonymous_tokens/cpp/crypto/crypto_utils.h" // IWYU pragma: keep
#include "openssl/base.h"
#include "quiche/blind_sign_auth/blind_sign_auth_protos.h"
#include "quiche/common/platform/api/quiche_export.h"
namespace quiche::test {
class QUICHE_NO_EXPORT BlindSignAuthTestData {
public:
static absl::StatusOr<std::unique_ptr<BlindSignAuthTestData>> Create();
privacy::ppn::GetInitialDataResponse CreateGetInitialDataResponse();
absl::StatusOr<privacy::ppn::AttestAndSignResponse>
CreateAttestAndSignResponse(absl::string_view body);
private:
BlindSignAuthTestData(
bssl::UniquePtr<RSA> rsa_public_key, bssl::UniquePtr<RSA> rsa_private_key,
anonymous_tokens::RSABlindSignaturePublicKey
public_key_proto,
privacy::ppn::GetInitialDataResponse::PrivacyPassData privacy_pass_data)
: rsa_public_key_(std::move(rsa_public_key)),
rsa_private_key_(std::move(rsa_private_key)),
public_key_proto_(std::move(public_key_proto)),
privacy_pass_data_(std::move(privacy_pass_data)) {}
bssl::UniquePtr<RSA> rsa_public_key_;
bssl::UniquePtr<RSA> rsa_private_key_;
anonymous_tokens::RSABlindSignaturePublicKey
public_key_proto_;
privacy::ppn::GetInitialDataResponse::PrivacyPassData privacy_pass_data_;
};
} // namespace quiche::test
#endif // QUICHE_BLIND_SIGN_AUTH_BLIND_SIGN_AUTH_TEST_DATA_H_