summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-08-06 22:59:38 -0400
committerSimo Sorce <simo@redhat.com>2014-08-06 23:59:38 -0400
commita3e554fbf28fbf0c67d4511dec809069feed6d3b (patch)
tree42c18310f19d761b251142f6c9d7413c9c8bc242 /tests
parentfe1c7d62f540c118d36964389e0e1b9c9190eadd (diff)
downloadgss-ntlmssp-a3e554fbf28fbf0c67d4511dec809069feed6d3b.tar.gz
gss-ntlmssp-a3e554fbf28fbf0c67d4511dec809069feed6d3b.tar.xz
gss-ntlmssp-a3e554fbf28fbf0c67d4511dec809069feed6d3b.zip
Introduce ntlm_signseal_state
This structure keeps the crypto state closer to the crypto routines.
Diffstat (limited to 'tests')
-rw-r--r--tests/ntlmssptest.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/tests/ntlmssptest.c b/tests/ntlmssptest.c
index ca2e61d..d1b334d 100644
--- a/tests/ntlmssptest.c
+++ b/tests/ntlmssptest.c
@@ -1423,12 +1423,7 @@ done:
int test_GSS_Wrap_EX(struct ntlm_ctx *ctx, struct t_gsswrapex_data *data)
{
- struct ntlm_key sign_send_key;
- struct ntlm_key sign_recv_key;
- struct ntlm_key seal_send_key;
- struct ntlm_key seal_recv_key;
- struct ntlm_rc4_handle *seal_send_handle;
- struct ntlm_rc4_handle *seal_recv_handle;
+ struct ntlm_signseal_state state;
uint8_t outbuf[data->Ciphertext.length];
uint8_t signbuf[16];
struct ntlm_buffer output = { outbuf, data->Ciphertext.length };
@@ -1436,42 +1431,42 @@ int test_GSS_Wrap_EX(struct ntlm_ctx *ctx, struct t_gsswrapex_data *data)
int ret;
ret = ntlm_signseal_keys(data->flags, true,
- &data->KeyExchangeKey,
- &sign_send_key, &sign_recv_key,
- &seal_send_key, &seal_recv_key,
- &seal_send_handle, &seal_recv_handle);
+ &data->KeyExchangeKey, &state);
if (ret) return ret;
if (data->ClientSealKey.length) {
- if (memcmp(seal_send_key.data, data->ClientSealKey.data,
- data->ClientSealKey.length) != 0) {
+ if (memcmp(state.send.seal_key.data,
+ data->ClientSealKey.data,
+ data->ClientSealKey.length) != 0) {
fprintf(stderr, "Client Sealing Keys differ!\n");
fprintf(stderr, "expected:\n%s",
hex_to_dump(data->ClientSealKey.data,
data->ClientSealKey.length));
fprintf(stderr, "obtained:\n%s",
- hex_to_dump(seal_send_key.data, sign_send_key.length));
+ hex_to_dump(state.send.seal_key.data,
+ state.send.seal_key.length));
ret = EINVAL;
}
}
if (data->ClientSignKey.length) {
- if (memcmp(sign_send_key.data, data->ClientSignKey.data,
- data->ClientSignKey.length) != 0) {
+ if (memcmp(state.send.sign_key.data,
+ data->ClientSignKey.data,
+ data->ClientSignKey.length) != 0) {
fprintf(stderr, "Client Signing Keys differ!\n");
fprintf(stderr, "expected:\n%s",
hex_to_dump(data->ClientSignKey.data,
data->ClientSignKey.length));
fprintf(stderr, "obtained:\n%s",
- hex_to_dump(sign_send_key.data, sign_send_key.length));
+ hex_to_dump(state.send.sign_key.data,
+ state.send.sign_key.length));
ret = EINVAL;
}
}
if (ret) return ret;
- ret = ntlm_seal(seal_send_handle, data->flags,
- &sign_send_key, data->SeqNum,
+ ret = ntlm_seal(data->flags, &state,
&data->Plaintext, &output, &signature);
if (ret) {