// Copyright 2018 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. #include "content/browser/ssl_private_key_impl.h" #include "base/bind.h" #include "base/bind_helpers.h" #include "base/callback.h" namespace content { SSLPrivateKeyImpl::SSLPrivateKeyImpl( scoped_refptr ssl_private_key) : ssl_private_key_(std::move(ssl_private_key)) {} SSLPrivateKeyImpl::~SSLPrivateKeyImpl() = default; void SSLPrivateKeyImpl::Sign( uint16_t algorithm, const std::vector& input, network::mojom::SSLPrivateKey::SignCallback callback) { base::span input_span(input); ssl_private_key_->Sign( algorithm, input_span, base::BindOnce(&SSLPrivateKeyImpl::Callback, base::Unretained(this), std::move(callback))); } void SSLPrivateKeyImpl::Callback( network::mojom::SSLPrivateKey::SignCallback callback, net::Error net_error, const std::vector& signature) { std::move(callback).Run(static_cast(net_error), signature); } } // namespace content