4 * Copyright (C) AB Strakt
5 * Copyright (C) Jean-Paul Calderone
6 * See LICENSE for details.
8 * Export pkey functions and data structure.
9 * See the file RATIONALE for a short explanation of why this module was written.
12 #ifndef PyOpenSSL_crypto_PKEY_H_
13 #define PyOpenSSL_crypto_PKEY_H_
15 extern int init_crypto_pkey (PyObject *);
17 extern PyTypeObject crypto_PKey_Type;
19 #define crypto_PKey_Check(v) ((v)->ob_type == &crypto_PKey_Type)
25 * A pointer to the underlying OpenSSL structure.
30 * A flag indicating the underlying pkey object has no private parts (so it
31 * can't sign, for example). This is a bit of a temporary hack.
32 * Public-only should be represented as a different type. -exarkun
37 * A flag indicating whether the underlying pkey object has no meaningful
38 * data in it whatsoever. This is a temporary hack. It should be
39 * impossible to create PKeys in an unusable state. -exarkun
44 * A flag indicating whether pkey will be freed when this object is freed.
49 #define crypto_TYPE_RSA EVP_PKEY_RSA
50 #define crypto_TYPE_DSA EVP_PKEY_DSA