1 2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- 3 4 #ifndef __gnu_javax_net_ssl_provider_AbstractHandshake__ 5 #define __gnu_javax_net_ssl_provider_AbstractHandshake__ 6 7 #pragma interface 8 9 #include <java/lang/Object.h> 10 #include <gcj/array.h> 11 12 extern "Java" 13 { 14 namespace gnu 15 { 16 namespace classpath 17 { 18 namespace debug 19 { 20 class SystemLogger; 21 } 22 } 23 namespace javax 24 { 25 namespace net 26 { 27 namespace ssl 28 { 29 namespace provider 30 { 31 class AbstractHandshake; 32 class CompressionMethod; 33 class InputSecurityParameters; 34 class OutputSecurityParameters; 35 class Random; 36 class SSLEngineImpl; 37 class SessionImpl; 38 } 39 } 40 } 41 } 42 } 43 namespace java 44 { 45 namespace nio 46 { 47 class ByteBuffer; 48 } 49 namespace security 50 { 51 class MessageDigest; 52 class SecureRandom; 53 } 54 } 55 namespace javax 56 { 57 namespace crypto 58 { 59 class KeyAgreement; 60 namespace interfaces 61 { 62 class DHPrivateKey; 63 } 64 } 65 namespace net 66 { 67 namespace ssl 68 { 69 class SSLEngineResult$HandshakeStatus; 70 } 71 } 72 } 73 } 74 75 class gnu::javax::net::ssl::provider::AbstractHandshake : public ::java::lang::Object 76 { 77 78 public: // actually protected 79 AbstractHandshake(::gnu::javax::net::ssl::provider::SSLEngineImpl *); 80 public: 81 virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleInput(::java::nio::ByteBuffer *); 82 public: // actually protected 83 virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput() = 0; 84 public: 85 virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleOutput(::java::nio::ByteBuffer *); 86 public: // actually protected 87 virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *) = 0; 88 public: // actually package-private 89 virtual ::gnu::javax::net::ssl::provider::InputSecurityParameters * getInputParams(); 90 virtual ::gnu::javax::net::ssl::provider::OutputSecurityParameters * getOutputParams(); 91 virtual ::java::lang::Runnable * getTask(); 92 virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status() = 0; 93 virtual void checkKeyExchange() = 0; 94 virtual void handleV2Hello(::java::nio::ByteBuffer *) = 0; 95 public: // actually protected 96 virtual jboolean pollHandshake(::java::nio::ByteBuffer *); 97 virtual jboolean doHash(); 98 virtual jboolean hasMessage(); 99 private: 100 void reallocateBuffer(jint); 101 public: // actually protected 102 virtual JArray< jbyte > * genV3CertificateVerify(::java::security::MessageDigest *, ::java::security::MessageDigest *, ::gnu::javax::net::ssl::provider::SessionImpl *); 103 virtual JArray< JArray< jbyte > * > * generateKeys(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *); 104 virtual ::java::nio::ByteBuffer * generateFinished(::java::security::MessageDigest *, ::java::security::MessageDigest *, jboolean, ::gnu::javax::net::ssl::provider::SessionImpl *); 105 virtual void initDiffieHellman(::javax::crypto::interfaces::DHPrivateKey *, ::java::security::SecureRandom *); 106 virtual void generateMasterSecret(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *); 107 virtual void setupSecurityParameters(JArray< JArray< jbyte > * > *, jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *, ::gnu::javax::net::ssl::provider::CompressionMethod *); 108 virtual void generatePSKSecret(::java::lang::String *, JArray< jbyte > *, jboolean); 109 static ::gnu::classpath::debug::SystemLogger * logger; 110 static JArray< jbyte > * SERVER_FINISHED; 111 static JArray< jbyte > * CLIENT_FINISHED; 112 private: 113 static JArray< jbyte > * KEY_EXPANSION; 114 static JArray< jbyte > * MASTER_SECRET; 115 static JArray< jbyte > * CLIENT_WRITE_KEY; 116 static JArray< jbyte > * SERVER_WRITE_KEY; 117 static JArray< jbyte > * IV_BLOCK; 118 static JArray< jbyte > * SENDER_CLIENT; 119 static JArray< jbyte > * SENDER_SERVER; 120 public: // actually protected 121 static JArray< jbyte > * PAD1; 122 static JArray< jbyte > * PAD2; 123 ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handshakeBuffer; 124 jint handshakeOffset; 125 ::java::security::MessageDigest * sha; 126 ::java::security::MessageDigest * md5; 127 ::gnu::javax::net::ssl::provider::SSLEngineImpl * engine; 128 ::javax::crypto::KeyAgreement * keyAgreement; 129 JArray< jbyte > * preMasterSecret; 130 ::gnu::javax::net::ssl::provider::InputSecurityParameters * inParams; 131 ::gnu::javax::net::ssl::provider::OutputSecurityParameters * outParams; 132 ::java::util::LinkedList * tasks; 133 ::gnu::javax::net::ssl::provider::Random * serverRandom; 134 ::gnu::javax::net::ssl::provider::Random * clientRandom; 135 ::gnu::javax::net::ssl::provider::CompressionMethod * compression; 136 public: // actually package-private 137 static jboolean $assertionsDisabled; 138 public: 139 static ::java::lang::Class class$; 140 }; 141 142 #endif // __gnu_javax_net_ssl_provider_AbstractHandshake__ 143