Print this page
8982 Support building with OpenSSL 1.1
*** 28,37 ****
--- 28,38 ----
* SUCH DAMAGES.
*/
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
*/
#ifndef _PKINIT_CRYPTO_OPENSSL_H
#define _PKINIT_CRYPTO_OPENSSL_H
*** 42,56 ****
#include <openssl/pkcs12.h>
#include <openssl/obj_mac.h>
#include <openssl/x509v3.h>
#include <openssl/err.h>
#include <openssl/evp.h>
- #include <openssl/asn1_mac.h>
#include <openssl/sha.h>
#include <openssl/asn1.h>
#include <openssl/pem.h>
#include "pkinit.h"
#define DN_BUF_LEN 256
#define MAX_CREDS_ALLOWED 20
--- 43,63 ----
#include <openssl/pkcs12.h>
#include <openssl/obj_mac.h>
#include <openssl/x509v3.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/sha.h>
#include <openssl/asn1.h>
#include <openssl/pem.h>
+ #include <openssl/rsa.h>
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ #include <openssl/asn1_mac.h>
+ #else
+ #include <openssl/asn1t.h>
+ #endif
+
#include "pkinit.h"
#define DN_BUF_LEN 256
#define MAX_CREDS_ALLOWED 20
*** 160,174 ****
static krb5_error_code pkinit_init_pkcs11(pkinit_identity_crypto_context ctx);
static void pkinit_fini_pkcs11(pkinit_identity_crypto_context ctx);
static krb5_error_code pkinit_encode_dh_params
! (BIGNUM *, BIGNUM *, BIGNUM *, unsigned char **, unsigned int *);
static DH *pkinit_decode_dh_params
(DH **, unsigned char **, unsigned int );
static int pkinit_check_dh_params
! (BIGNUM * p1, BIGNUM * p2, BIGNUM * g1, BIGNUM * q1);
static krb5_error_code pkinit_sign_data
(krb5_context context, pkinit_identity_crypto_context cryptoctx,
unsigned char *data, unsigned int data_len,
unsigned char **sig, unsigned int *sig_len);
--- 167,183 ----
static krb5_error_code pkinit_init_pkcs11(pkinit_identity_crypto_context ctx);
static void pkinit_fini_pkcs11(pkinit_identity_crypto_context ctx);
static krb5_error_code pkinit_encode_dh_params
! (const BIGNUM *, const BIGNUM *, const BIGNUM *,
! unsigned char **, unsigned int *);
static DH *pkinit_decode_dh_params
(DH **, unsigned char **, unsigned int );
static int pkinit_check_dh_params
! (const BIGNUM *p1, const BIGNUM *p2, const BIGNUM *g1,
! const BIGNUM *q1);
static krb5_error_code pkinit_sign_data
(krb5_context context, pkinit_identity_crypto_context cryptoctx,
unsigned char *data, unsigned int data_len,
unsigned char **sig, unsigned int *sig_len);
*** 273,284 ****
--- 282,300 ----
wrap_signeddata(unsigned char *data, unsigned int data_len,
unsigned char **out, unsigned int *out_len);
#endif
/* This handy macro borrowed from crypto/x509v3/v3_purp.c */
+
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
#define ku_reject(x, usage) \
(((x)->ex_flags & EXFLAG_KUSAGE) && !((x)->ex_kusage & (usage)))
+ #else
+ #define ku_reject(x, usage) \
+ ((X509_get_extension_flags(x) & EXFLAG_KUSAGE) && \
+ !(X509_get_key_usage(x) & (usage)))
+ #endif
static char *
pkinit_pkcs11_code_to_text(int err);
#endif /* _PKINIT_CRYPTO_OPENSSL_H */