1/*
2 * Copyright (c) 2018-2022 Yubico AB. All rights reserved.
3 * Use of this source code is governed by a BSD-style
4 * license that can be found in the LICENSE file.
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#ifndef _EXTERN_H_
9#define _EXTERN_H_
10
11#include <openssl/ec.h>
12#include <openssl/evp.h>
13#include <openssl/rsa.h>
14
15/* util.c */
16EC_KEY *read_ec_pubkey(const char *);
17RSA *read_rsa_pubkey(const  char *);
18EVP_PKEY *read_eddsa_pubkey(const char *);
19int base10(const char *, long long *);
20int read_blob(const char *, unsigned char **, size_t *);
21int write_blob(const char *, const unsigned char *, size_t);
22int write_es256_pubkey(const char *, const void *, size_t);
23int write_es384_pubkey(const char *, const void *, size_t);
24int write_rs256_pubkey(const char *, const void *, size_t);
25int write_eddsa_pubkey(const char *, const void *, size_t);
26
27#endif /* _EXTERN_H_ */
28