00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _QORE_QORESSLPRIVATEKEY_H
00024
00025 #define _QORE_QORESSLPRIVATEKEY_H
00026
00027 #include <openssl/ssl.h>
00028 #include <openssl/evp.h>
00029
00031 class QoreSSLPrivateKey : public AbstractPrivateData
00032 {
00033 private:
00034
00035 struct qore_sslpk_private *priv;
00036
00038 DLLLOCAL QoreSSLPrivateKey(const QoreSSLPrivateKey&);
00039
00041 DLLLOCAL QoreSSLPrivateKey& operator=(const QoreSSLPrivateKey&);
00042
00043 protected:
00044 DLLLOCAL virtual ~QoreSSLPrivateKey();
00045
00046 public:
00048
00050 DLLEXPORT class QoreStringNode *getPEM(class ExceptionSink *xsink) const;
00051
00052 DLLLOCAL QoreSSLPrivateKey(EVP_PKEY *p);
00053 DLLLOCAL QoreSSLPrivateKey(const char *fn, char *pp, class ExceptionSink *xsink);
00054
00055
00056 DLLLOCAL EVP_PKEY *getData() const;
00057 DLLLOCAL const char *getType() const;
00058 DLLLOCAL int64 getVersion() const;
00059
00060
00061 DLLLOCAL int64 getBitLength() const;
00062
00063
00064 DLLLOCAL class QoreHashNode *getInfo() const;
00065 };
00066
00067 #endif