diff options
author | Richard Levitte <levitte@openssl.org> | 2016-12-06 14:41:33 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-06-29 19:25:39 +0200 |
commit | 4c17819c41b32f6652662d4a2942e35c67d7d650 (patch) | |
tree | 9529006887355c68d375bd061feb9a02a1acce4a /crypto/include | |
parent | 7852f588a651ee30256678a23a6162a3b2fb822f (diff) |
Add internal functions to fetch PEM data from an opened BIO
store_attach_pem_bio() creates a STORE_CTX with the 'file' scheme
loader backend in PEM reading mode on an already opened BIO.
store_detach_pem_bio() detaches the STORE_CTX from the BIO and
destroys it (without destroying the BIO).
These two functions can be used in place of STORE_open() and
STORE_close(), and are present as internal support for other OpenSSL
functions.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2745)
Diffstat (limited to 'crypto/include')
-rw-r--r-- | crypto/include/internal/store_int.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/crypto/include/internal/store_int.h b/crypto/include/internal/store_int.h new file mode 100644 index 0000000000..9966aefa67 --- /dev/null +++ b/crypto/include/internal/store_int.h @@ -0,0 +1,33 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_STORE_INT_H +# define HEADER_STORE_INT_H + +# include <openssl/bio.h> +# include <openssl/store.h> +# include <openssl/ui.h> + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * Two functions to read PEM data off an already opened BIO. To be used + * instead of OSSLSTORE_open() and OSSLSTORE_close(). Everything is done + * as usual with OSSLSTORE_load() and OSSLSTORE_eof(). + */ +OSSL_STORE_CTX *ossl_store_attach_pem_bio(BIO *bp, const UI_METHOD *ui_method, + void *ui_data); +int ossl_store_detach_pem_bio(OSSL_STORE_CTX *ctx); + +# ifdef __cplusplus +} +# endif +#endif |