00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef XKMSRECOVERRESULT_INCLUDE
00027 #define XKMSRECOVERRESULT_INCLUDE
00028
00029
00030
00031 #include <xsec/framework/XSECDefs.hpp>
00032 #include <xsec/xkms/XKMSResultType.hpp>
00033 #include <xsec/xkms/XKMSStatus.hpp>
00034
00035 class XKMSKeyBinding;
00036 class XKMSUnverifiedKeyBinding;
00037 class XKMSRSAKeyPair;
00038 class XENCCipherData;
00039
00070 class XKMSRecoverResult : public XKMSResultType {
00071
00074
00075 protected:
00076
00077 XKMSRecoverResult() {};
00078
00079 public:
00080
00081 virtual ~XKMSRecoverResult() {};
00082
00085
00090 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * getElement(void) const = 0;
00091
00093
00096
00103 virtual int getKeyBindingSize(void) const = 0;
00104
00105
00106
00107
00108
00109
00110
00111
00112 virtual XKMSKeyBinding * getKeyBindingItem(int item) const = 0;
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127 virtual XKMSKeyBinding * appendKeyBindingItem(XKMSStatus::StatusValue status) = 0;
00128
00130
00133
00149 virtual XKMSRSAKeyPair * getRSAKeyPair(const char * passPhrase) = 0;
00150
00181 virtual XENCEncryptedData * setRSAKeyPair(const char * passPhrase,
00182 XMLCh * Modulus,
00183 XMLCh * Exponent,
00184 XMLCh * P,
00185 XMLCh * Q,
00186 XMLCh * DP,
00187 XMLCh * DQ,
00188 XMLCh * InverseQ,
00189 XMLCh * D,
00190 encryptionMethod em,
00191 const XMLCh * algorithmURI = NULL) = 0;
00192
00194
00195
00196 private:
00197
00198
00199 XKMSRecoverResult(const XKMSRecoverResult &);
00200 XKMSRecoverResult & operator = (const XKMSRecoverResult &);
00201
00202 };
00203
00204 #endif