chromium/third_party/anonymous_tokens/src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.cc

// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.h"

#include <memory>

#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "anonymous_tokens/cpp/crypto/constants.h"
#include "anonymous_tokens/cpp/crypto/crypto_utils.h"
#include "anonymous_tokens/cpp/crypto/rsa_blinder.h"
#include "anonymous_tokens/cpp/privacy_pass/token_encodings.h"
#include "anonymous_tokens/cpp/shared/status_utils.h"
#include <openssl/base.h>
#include <openssl/digest.h>
#include <openssl/rsa.h>

namespace anonymous_tokens {

namespace {

absl::Status CheckKeySize(const RSA& key) {}

}  // namespace

absl::StatusOr<std::unique_ptr<PrivacyPassRsaBssaPublicMetadataClient>>
PrivacyPassRsaBssaPublicMetadataClient::Create(const RSA& rsa_public_key) {}

PrivacyPassRsaBssaPublicMetadataClient::PrivacyPassRsaBssaPublicMetadataClient(
    const int salt_length, const std::string rsa_modulus,
    const std::string rsa_e, const EVP_MD* signature_hash_function,
    const EVP_MD* mgf1_hash_function)
    :{}

absl::StatusOr<ExtendedTokenRequest>
PrivacyPassRsaBssaPublicMetadataClient::CreateTokenRequest(
    const absl::string_view challenge, const absl::string_view nonce,
    const absl::string_view token_key_id, const Extensions& extensions) {}

absl::StatusOr<Token> PrivacyPassRsaBssaPublicMetadataClient::FinalizeToken(
    const absl::string_view blinded_signature) {}

absl::Status PrivacyPassRsaBssaPublicMetadataClient::Verify(
    Token token_to_verify, const absl::string_view encoded_extensions,
    RSA& rsa_public_key) {}

}  // namespace anonymous_tokens