#ifndef NET_SSL_SSL_PLATFORM_KEY_ANDROID_H_
#define NET_SSL_SSL_PLATFORM_KEY_ANDROID_H_
#include <jni.h>
#include <string>
#include <vector>
#include "base/android/scoped_java_ref.h"
#include "base/containers/span.h"
#include "base/memory/scoped_refptr.h"
#include "net/base/net_export.h"
#include "third_party/boringssl/src/include/openssl/evp.h"
namespace net {
class SSLPrivateKey;
class X509Certificate;
NET_EXPORT scoped_refptr<SSLPrivateKey> WrapJavaPrivateKey(
const X509Certificate* cert,
const base::android::JavaRef<jobject>& key);
NET_EXPORT scoped_refptr<SSLPrivateKey> WrapJavaPrivateKey(
bssl::UniquePtr<EVP_PKEY> pubkey,
const base::android::JavaRef<jobject>& key);
NET_EXPORT std::vector<std::string> SignatureAlgorithmsToJavaKeyTypes(
base::span<const uint16_t> algorithms);
}
#endif