mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
libpv is a collection of definitions and functions related to Protected Virtualization (PV). The functions cover mainly encryption (e.g. AES-GCM) and certificates (X509). There are also helping functions for glib2. Most of the code is extracted+refactored from `genprotimg`, which will use this library in future. Requires openssl v1.1.1+, glib2.56+, and libcurl. libpv is not designed or intended to be dynamically linked or used outside of this project. Its purpose is to avoid code duplication as PV tools do very similar things regarding cryptography. Signed-off-by: Steffen Eiden <seiden@linux.ibm.com> Acked-by: Marc Hartmayer <mhartmay@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
30 lines
1.2 KiB
C
30 lines
1.2 KiB
C
/*
|
|
* OpenSSL compatibility utils
|
|
*
|
|
* Copyright IBM Corp. 2021
|
|
*
|
|
* s390-tools is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*/
|
|
#ifndef LIBPV_OPENSSL_COMPAT_H
|
|
#define LIBPV_OPENSSL_COMPAT_H
|
|
|
|
#include <openssl/opensslv.h>
|
|
#include <openssl/x509.h>
|
|
#include <openssl/x509_vfy.h>
|
|
|
|
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
|
#define pv_X509_STORE_CTX_get_current_cert(ctx) X509_STORE_CTX_get_current_cert(ctx)
|
|
#define pv_X509_STORE_CTX_get1_crls(ctx, nm) X509_STORE_CTX_get1_crls((ctx), (nm))
|
|
#define pv_X509_STORE_set_lookup_crls(st, cb) X509_STORE_set_lookup_crls(st, cb)
|
|
#elif OPENSSL_VERSION_NUMBER >= 0x10100000L
|
|
#define pv_X509_STORE_CTX_get_current_cert(ctx) \
|
|
X509_STORE_CTX_get_current_cert((X509_STORE_CTX *)(ctx))
|
|
#define pv_X509_STORE_CTX_get1_crls(ctx, nm) \
|
|
X509_STORE_CTX_get1_crls((X509_STORE_CTX *)(ctx), (X509_NAME *)(nm))
|
|
#define pv_X509_STORE_set_lookup_crls(st, cb) \
|
|
X509_STORE_set_lookup_crls(st, (X509_STORE_CTX_lookup_crls_fn)(cb))
|
|
#endif
|
|
|
|
#endif /* LIBPV_OPENSSL_COMPAT_H */
|