mirror of
https://github.com/adulau/ssldump.git
synced 2024-11-21 17:07:04 +00:00
Remove old, unused files
This commit is contained in:
parent
9012f9cf48
commit
26a3816051
10 changed files with 0 additions and 4486 deletions
9
FILES
9
FILES
|
@ -1,9 +0,0 @@
|
||||||
record-fmt.txt
|
|
||||||
record_analyze.c
|
|
||||||
record_analyze.h
|
|
||||||
targets.mk
|
|
||||||
|
|
||||||
CVS:
|
|
||||||
Entries
|
|
||||||
Repository
|
|
||||||
Root
|
|
|
@ -1,52 +0,0 @@
|
||||||
/**
|
|
||||||
ciphersuites.h
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 1999-2000 RTFM, Inc.
|
|
||||||
All Rights Reserved
|
|
||||||
|
|
||||||
This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
|
|
||||||
<ekr@rtfm.com> and licensed by RTFM, Inc.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
3. All advertising materials mentioning features or use of this software
|
|
||||||
must display the following acknowledgement:
|
|
||||||
|
|
||||||
This product includes software developed by Eric Rescorla for
|
|
||||||
RTFM, Inc.
|
|
||||||
|
|
||||||
4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be
|
|
||||||
used to endorse or promote products derived from this
|
|
||||||
software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE.
|
|
||||||
|
|
||||||
$Id: ciphersuites.h,v 1.2 2000/10/17 16:10:01 ekr Exp $
|
|
||||||
|
|
||||||
|
|
||||||
ekr@rtfm.com Sat Sep 23 18:01:27 2000
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _ciphersuites_h
|
|
||||||
#define _ciphersuites_h
|
|
||||||
|
|
||||||
int ssl_find_cipher PROTO_LIST((int num,SSL_CipherSuite **cs));
|
|
||||||
#endif
|
|
||||||
|
|
1783
ssl/Attic/lex.yy.c
1783
ssl/Attic/lex.yy.c
File diff suppressed because it is too large
Load diff
|
@ -1,98 +0,0 @@
|
||||||
/**
|
|
||||||
main.c
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 1999-2000 RTFM, Inc.
|
|
||||||
All Rights Reserved
|
|
||||||
|
|
||||||
This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
|
|
||||||
<ekr@rtfm.com> and licensed by RTFM, Inc.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
3. All advertising materials mentioning features or use of this software
|
|
||||||
must display the following acknowledgement:
|
|
||||||
|
|
||||||
This product includes software developed by Eric Rescorla for
|
|
||||||
RTFM, Inc.
|
|
||||||
|
|
||||||
4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be
|
|
||||||
used to endorse or promote products derived from this
|
|
||||||
software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE.
|
|
||||||
|
|
||||||
$Id: main.c,v 1.2 2000/10/17 16:10:01 ekr Exp $
|
|
||||||
|
|
||||||
|
|
||||||
ekr@rtfm.com Mon Jan 18 16:28:43 1999
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <r_common.h>
|
|
||||||
|
|
||||||
extern int yydebug;
|
|
||||||
|
|
||||||
FILE *doth,*dotc;
|
|
||||||
|
|
||||||
int verr_exit(char *fmt,...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start(ap,fmt);
|
|
||||||
vfprintf(stderr,fmt,ap);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
char name[100];
|
|
||||||
FILE *in;
|
|
||||||
|
|
||||||
if(!(in=freopen(argv[1],"r",stdin)))
|
|
||||||
verr_exit("Couldn't open input file %s\n",argv[1]);
|
|
||||||
|
|
||||||
sprintf(name,"%s.c",argv[1]);
|
|
||||||
dotc=fopen(name,"w");
|
|
||||||
sprintf(name,"%s.h",argv[1]);
|
|
||||||
doth=fopen(name,"w");
|
|
||||||
|
|
||||||
fprintf(dotc,"#include \"network.h\"\n#include \"ssl_h.h\"\n#include \"sslprint.h\"\n#include \"sslxprint.h\"\n#ifdef OPENSSL\n#include <openssl/ssl.h>\n#endif\n");
|
|
||||||
fprintf(dotc,"#include \"%s\"\n",name);
|
|
||||||
|
|
||||||
yyparse();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
extern int yylineno;
|
|
||||||
|
|
||||||
int
|
|
||||||
yywrap (void)
|
|
||||||
{
|
|
||||||
;}
|
|
||||||
|
|
||||||
int
|
|
||||||
yyerror (char *s)
|
|
||||||
{
|
|
||||||
printf("Parse error %s at line %d\n",s,yylineno);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
|
@ -1,749 +0,0 @@
|
||||||
select {
|
|
||||||
ChangeCipherSpec(20)
|
|
||||||
{@
|
|
||||||
ssl_process_change_cipher_spec(ssl,ssl->decoder,dir);
|
|
||||||
|
|
||||||
if(dir==DIR_I2R){
|
|
||||||
ssl->i_state=SSL_ST_SENT_CHANGE_CIPHER_SPEC;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
ssl->r_state=SSL_ST_SENT_CHANGE_CIPHER_SPEC;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
, Alert(21)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
|
|
||||||
if(ssl->record_encryption==REC_CIPHERTEXT){
|
|
||||||
printf("\n");
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(data->len!=2){
|
|
||||||
fprintf(stderr,"Wrong length for alert message: %d\n",
|
|
||||||
data->len);
|
|
||||||
ERETURN(R_EOD);
|
|
||||||
}
|
|
||||||
|
|
||||||
P_(P_HL){
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_ENUM(ssl,"level",1,AlertLevel_decoder,P_HL,data,0);
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_ENUM(ssl,"value",1,AlertDescription_decoder,P_HL,data,0);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
SSL_DECODE_ENUM(ssl,0,1,AlertLevel_decoder,SSL_PRINT_ALL,data,0);
|
|
||||||
SSL_DECODE_ENUM(ssl,0,1,AlertDescription_decoder,SSL_PRINT_ALL,data,0);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
|
|
||||||
@},
|
|
||||||
Handshake(22)
|
|
||||||
{@
|
|
||||||
extern decoder HandshakeType_decoder[];
|
|
||||||
int r;
|
|
||||||
UINT4 t,l;
|
|
||||||
int rs=0;
|
|
||||||
Data d;
|
|
||||||
|
|
||||||
if(ssl->record_encryption==REC_CIPHERTEXT){
|
|
||||||
printf("\n");
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
while(data->len>0){
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&t);
|
|
||||||
SSL_DECODE_UINT24(ssl,0,0,data,&l);
|
|
||||||
|
|
||||||
if(data->len<l){
|
|
||||||
fprintf(stderr,"Error: short handshake length: expected %d got %d\n",
|
|
||||||
l,data->len);
|
|
||||||
ERETURN(R_EOD);
|
|
||||||
}
|
|
||||||
|
|
||||||
d.data=data->data;
|
|
||||||
d.len=l;
|
|
||||||
data->len-=l;
|
|
||||||
data->data+=l;
|
|
||||||
P_(P_HL){
|
|
||||||
if(!rs){
|
|
||||||
printf("\n");
|
|
||||||
rs=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ssl_decode_switch(ssl,HandshakeType_decoder,t,dir,seg,&d);
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
@},
|
|
||||||
application_data(23)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
Data d;
|
|
||||||
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"data",data->len,0,data,&d);
|
|
||||||
|
|
||||||
P_(P_AD){
|
|
||||||
print_data(ssl,&d);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
, (255)
|
|
||||||
} ContentType;
|
|
||||||
|
|
||||||
select {
|
|
||||||
HelloRequest(0)
|
|
||||||
{@
|
|
||||||
printf("\n");
|
|
||||||
@},
|
|
||||||
ClientHello(1)
|
|
||||||
{@
|
|
||||||
UINT4 vj,vn,cs,cslen,complen,comp;
|
|
||||||
Data session_id,random;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
extern decoder cipher_suite_decoder[];
|
|
||||||
extern decoder compression_method_decoder[];
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vj);
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vn);
|
|
||||||
|
|
||||||
P_(P_HL) {explain(ssl,"Version %d.%d ",vj,vn);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"random",32,P_ND,data,&random);
|
|
||||||
ssl_set_client_random(ssl->decoder,random.data,random.len);
|
|
||||||
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"session_id",-32,0,data,&session_id);
|
|
||||||
ssl_set_client_session_id(ssl->decoder,session_id.data,session_id.len);
|
|
||||||
|
|
||||||
P_(P_HL){
|
|
||||||
if(session_id.len)
|
|
||||||
exdump(ssl,"resume ",&session_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
P_(P_HL){
|
|
||||||
SSL_DECODE_UINT16(ssl,"cipher Suites len",0,data,&cslen);
|
|
||||||
explain(ssl,"cipher suites\n");
|
|
||||||
|
|
||||||
for(;cslen;cslen-=2){
|
|
||||||
ssl_decode_enum(ssl,0,2,cipher_suite_decoder,
|
|
||||||
0,data,&cs);
|
|
||||||
ssl_print_cipher_suite(ssl,(vj<<8)|vn,P_HL,cs);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SSL_DECODE_UINT8(ssl,"compressionMethod len",0,data,&complen);
|
|
||||||
if(complen){
|
|
||||||
explain(ssl,"compression methods\n");
|
|
||||||
for(;complen;complen--){
|
|
||||||
SSL_DECODE_ENUM(ssl,0,1,compression_method_decoder,P_HL,data,&comp);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
@},
|
|
||||||
ServerHello(2)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
Data rnd,session_id;
|
|
||||||
UINT4 vj,vn;
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vj);
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vn);
|
|
||||||
|
|
||||||
ssl->version=vj*256+vn;
|
|
||||||
P_(P_HL) {explain(ssl,"Version %d.%d ",vj,vn);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"random",32,P_ND,data,&rnd);
|
|
||||||
ssl_set_server_random(ssl->decoder,rnd.data,rnd.len);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"session_id",-32,P_HL,data,&session_id);
|
|
||||||
SSL_DECODE_ENUM(ssl,"cipherSuite",2,cipher_suite_decoder,
|
|
||||||
0,data,&ssl->cipher_suite);
|
|
||||||
P_(P_HL){
|
|
||||||
explain(ssl,"cipherSuite ");
|
|
||||||
ssl_print_cipher_suite(ssl,ssl->version,P_HL,ssl->cipher_suite);
|
|
||||||
}
|
|
||||||
ssl_find_cipher(ssl->cipher_suite,&ssl->cs);
|
|
||||||
|
|
||||||
ssl_process_server_session_id(ssl,ssl->decoder,session_id.data,
|
|
||||||
session_id.len);
|
|
||||||
|
|
||||||
P_(P_HL) printf("\n");
|
|
||||||
SSL_DECODE_ENUM(ssl,"compressionMethod",1,compression_method_decoder,P_HL,data,0);
|
|
||||||
P_(P_HL) printf("\n");
|
|
||||||
return(0);
|
|
||||||
@},
|
|
||||||
Certificate(11)
|
|
||||||
{@
|
|
||||||
UINT4 len;
|
|
||||||
Data cert;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_UINT24(ssl,"certificates len",0,data,&len);
|
|
||||||
|
|
||||||
while(len){
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"certificate",-((1<<23)-1),
|
|
||||||
0,data,&cert);
|
|
||||||
sslx_print_certificate(ssl,&cert,P_ND);
|
|
||||||
len-=(cert.len + 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
@},
|
|
||||||
ServerKeyExchange (12)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
if(ssl->cs){
|
|
||||||
P_(P_ND){
|
|
||||||
explain(ssl,"params\n");
|
|
||||||
}
|
|
||||||
INDENT_INCR;
|
|
||||||
|
|
||||||
switch(ssl->cs->kex){
|
|
||||||
case KEX_DH:
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"DH_p",-((1<<15)-1),P_ND,data,0);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"DH_g",-((1<<15)-1),P_ND,data,0);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"DH_Ys",-((1<<15)-1),P_ND,data,0);
|
|
||||||
break;
|
|
||||||
case KEX_RSA:
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"RSA_modulus",-((1<<15)-1),P_ND,data,0);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"RSA_exponent",-((1<<15)-1),P_ND,data,0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
INDENT_POP;
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"signature",-((1<<15)-1),P_ND,data,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
,
|
|
||||||
CertificateRequest(13)
|
|
||||||
{@
|
|
||||||
UINT4 len;
|
|
||||||
Data ca;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_UINT8(ssl,"certificate_types len",0,data,&len);
|
|
||||||
for(;len;len--){
|
|
||||||
SSL_DECODE_ENUM(ssl,"certificate_types",1,
|
|
||||||
client_certificate_type_decoder, P_HL,data,0);
|
|
||||||
P_(P_HL){
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
SSL_DECODE_UINT16(ssl,"certificate_authorities len",0,data,&len);
|
|
||||||
while(len){
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"certificate_authorities",
|
|
||||||
-((1<<15)-1),0,data,&ca);
|
|
||||||
explain(ssl,"certificate_authority\n");
|
|
||||||
INDENT_INCR;
|
|
||||||
sslx_print_dn(ssl,&ca,P_HL);
|
|
||||||
INDENT_POP;
|
|
||||||
len-=(ca.len + 2);
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
, ServerHelloDone(14)
|
|
||||||
{@
|
|
||||||
printf("\n");
|
|
||||||
@},
|
|
||||||
CertificateVerify(15)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"Signature",-(1<<15-1),P_HL,data,0);
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
,
|
|
||||||
ClientKeyExchange(16)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
Data pms;
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
if(ssl->cs){
|
|
||||||
switch(ssl->cs->kex){
|
|
||||||
|
|
||||||
case KEX_RSA:
|
|
||||||
if(ssl->version > 768) {
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"EncryptedPreMasterSecret",-(1<<15-1),
|
|
||||||
P_ND,data,&pms);
|
|
||||||
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"EncryptedPreMasterSecret",data->len,P_ND,data,&pms);
|
|
||||||
}
|
|
||||||
ssl_process_client_key_exchange(ssl,
|
|
||||||
ssl->decoder,pms.data,pms.len);
|
|
||||||
|
|
||||||
break;
|
|
||||||
case KEX_DH:
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"DiffieHellmanClientPublicValue",
|
|
||||||
-(1<<15-1),P_HL,data,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
@}
|
|
||||||
,
|
|
||||||
Finished(20)
|
|
||||||
{@
|
|
||||||
int r;
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
switch(ssl->version){
|
|
||||||
case 0x300:
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"md5_hash",16,P_ND,data,0);
|
|
||||||
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"sha_hash",20,P_ND,data,0);
|
|
||||||
break;
|
|
||||||
case 0x301:
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"verify_data",12,P_ND,data,0);
|
|
||||||
P_(P_ND)
|
|
||||||
printf("\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (0);
|
|
||||||
@}
|
|
||||||
, (255)
|
|
||||||
} HandshakeType;
|
|
||||||
|
|
||||||
constant {
|
|
||||||
// https://www.iana.org/assignments/tls-parameters/tls-parameters.txt
|
|
||||||
CipherSuite TLS_NULL_WITH_NULL_NULL = { 0x00,0x00 };
|
|
||||||
CipherSuite TLS_RSA_WITH_NULL_MD5 = { 0x00,0x01 };
|
|
||||||
CipherSuite TLS_RSA_WITH_NULL_SHA = { 0x00,0x02 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5 = { 0x00,0x03 };
|
|
||||||
CipherSuite TLS_RSA_WITH_RC4_128_MD5 = { 0x00,0x04 };
|
|
||||||
CipherSuite TLS_RSA_WITH_RC4_128_SHA = { 0x00,0x05 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = { 0x00,0x06 };
|
|
||||||
CipherSuite TLS_RSA_WITH_IDEA_CBC_SHA = { 0x00,0x07 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x08 };
|
|
||||||
CipherSuite TLS_RSA_WITH_DES_CBC_SHA = { 0x00,0x09 };
|
|
||||||
CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA = { 0x00,0x0A };
|
|
||||||
CipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x0B };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_DES_CBC_SHA = { 0x00,0x0C };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = { 0x00,0x0D };
|
|
||||||
CipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x0E };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_DES_CBC_SHA = { 0x00,0x0F };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = { 0x00,0x10 };
|
|
||||||
CipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x11 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA = { 0x00,0x12 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = { 0x00,0x13 };
|
|
||||||
CipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x14 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA = { 0x00,0x15 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = { 0x00,0x16 };
|
|
||||||
CipherSuite TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = { 0x00,0x17 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_RC4_128_MD5 = { 0x00,0x18 };
|
|
||||||
CipherSuite TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x19 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_DES_CBC_SHA = { 0x00,0x1A };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = { 0x00,0x1B };
|
|
||||||
CipherSuite TLS_KRB5_WITH_DES_CBC_SHA = { 0x00,0x1E };
|
|
||||||
CipherSuite TLS_KRB5_WITH_3DES_EDE_CBC_SHA = { 0x00,0x1F };
|
|
||||||
CipherSuite TLS_KRB5_WITH_RC4_128_SHA = { 0x00,0x20 };
|
|
||||||
CipherSuite TLS_KRB5_WITH_IDEA_CBC_SHA = { 0x00,0x21 };
|
|
||||||
CipherSuite TLS_KRB5_WITH_DES_CBC_MD5 = { 0x00,0x22 };
|
|
||||||
CipherSuite TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = { 0x00,0x23 };
|
|
||||||
CipherSuite TLS_KRB5_WITH_RC4_128_MD5 = { 0x00,0x24 };
|
|
||||||
CipherSuite TLS_KRB5_WITH_IDEA_CBC_MD5 = { 0x00,0x25 };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = { 0x00,0x26 };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = { 0x00,0x27 };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_RC4_40_SHA = { 0x00,0x28 };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = { 0x00,0x29 };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = { 0x00,0x2A };
|
|
||||||
CipherSuite TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = { 0x00,0x2B };
|
|
||||||
CipherSuite TLS_PSK_WITH_NULL_SHA = { 0x00,0x2C };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_NULL_SHA = { 0x00,0x2D };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_NULL_SHA = { 0x00,0x2E };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x2F };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA = { 0x00,0x30 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x31 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA = { 0x00,0x32 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x33 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA = { 0x00,0x34 };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x35 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA = { 0x00,0x36 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x37 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA = { 0x00,0x38 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x39 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA = { 0x00,0x3A };
|
|
||||||
CipherSuite TLS_RSA_WITH_NULL_SHA256 = { 0x00,0x3B };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA256 = { 0x00,0x3C };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x3D };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = { 0x00,0x3E };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = { 0x00,0x3F };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = { 0x00,0x40 };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x41 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x42 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x43 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x44 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x45 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x46 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = { 0x00,0x67 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = { 0x00,0x68 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x69 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = { 0x00,0x6A };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x6B };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA256 = { 0x00,0x6C };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA256 = { 0x00,0x6D };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x84 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x85 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x86 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x87 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x88 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x89 };
|
|
||||||
CipherSuite TLS_PSK_WITH_RC4_128_SHA = { 0x00,0x8A };
|
|
||||||
CipherSuite TLS_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00,0x8B };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA = { 0x00,0x8C };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA = { 0x00,0x8D };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_RC4_128_SHA = { 0x00,0x8E };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00,0x8F };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA = { 0x00,0x90 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA = { 0x00,0x91 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_RC4_128_SHA = { 0x00,0x92 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00,0x93 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA = { 0x00,0x94 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA = { 0x00,0x95 };
|
|
||||||
CipherSuite TLS_RSA_WITH_SEED_CBC_SHA = { 0x00,0x96 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_SEED_CBC_SHA = { 0x00,0x97 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_SEED_CBC_SHA = { 0x00,0x98 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_SEED_CBC_SHA = { 0x00,0x99 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_SEED_CBC_SHA = { 0x00,0x9A };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_SEED_CBC_SHA = { 0x00,0x9B };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_128_GCM_SHA256 = { 0x00,0x9C };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_256_GCM_SHA384 = { 0x00,0x9D };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = { 0x00,0x9E };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = { 0x00,0x9F };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = { 0x00,0xA0 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = { 0x00,0xA1 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = { 0x00,0xA2 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = { 0x00,0xA3 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = { 0x00,0xA4 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = { 0x00,0xA5 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_128_GCM_SHA256 = { 0x00,0xA6 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_AES_256_GCM_SHA384 = { 0x00,0xA7 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_128_GCM_SHA256 = { 0x00,0xA8 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_256_GCM_SHA384 = { 0x00,0xA9 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = { 0x00,0xAA };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = { 0x00,0xAB };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = { 0x00,0xAC };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = { 0x00,0xAD };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA256 = { 0x00,0xAE };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA384 = { 0x00,0xAF };
|
|
||||||
CipherSuite TLS_PSK_WITH_NULL_SHA256 = { 0x00,0xB0 };
|
|
||||||
CipherSuite TLS_PSK_WITH_NULL_SHA384 = { 0x00,0xB1 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = { 0x00,0xB2 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = { 0x00,0xB3 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_NULL_SHA256 = { 0x00,0xB4 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_NULL_SHA384 = { 0x00,0xB5 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = { 0x00,0xB6 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = { 0x00,0xB7 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_NULL_SHA256 = { 0x00,0xB8 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_NULL_SHA384 = { 0x00,0xB9 };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBA };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBB };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBC };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBD };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBE };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = { 0x00,0xBF };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC0 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC1 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC2 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC3 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC4 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = { 0x00,0xC5 };
|
|
||||||
CipherSuite TLS_EMPTY_RENEGOTIATION_INFO_SCSV = { 0x00,0xFF };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_NULL_SHA = { 0xC0,0x01 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_RC4_128_SHA = { 0xC0,0x02 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x03 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = { 0xC0,0x04 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = { 0xC0,0x05 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_NULL_SHA = { 0xC0,0x06 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = { 0xC0,0x07 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x08 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = { 0xC0,0x09 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = { 0xC0,0x0A };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_NULL_SHA = { 0xC0,0x0B };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_RC4_128_SHA = { 0xC0,0x0C };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x0D };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = { 0xC0,0x0E };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = { 0xC0,0x0F };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_NULL_SHA = { 0xC0,0x10 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_RC4_128_SHA = { 0xC0,0x11 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x12 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = { 0xC0,0x13 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = { 0xC0,0x14 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_NULL_SHA = { 0xC0,0x15 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_RC4_128_SHA = { 0xC0,0x16 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x17 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_AES_128_CBC_SHA = { 0xC0,0x18 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_AES_256_CBC_SHA = { 0xC0,0x19 };
|
|
||||||
CipherSuite TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x1A };
|
|
||||||
CipherSuite TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x1B };
|
|
||||||
CipherSuite TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x1C };
|
|
||||||
CipherSuite TLS_SRP_SHA_WITH_AES_128_CBC_SHA = { 0xC0,0x1D };
|
|
||||||
CipherSuite TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = { 0xC0,0x1E };
|
|
||||||
CipherSuite TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = { 0xC0,0x1F };
|
|
||||||
CipherSuite TLS_SRP_SHA_WITH_AES_256_CBC_SHA = { 0xC0,0x20 };
|
|
||||||
CipherSuite TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = { 0xC0,0x21 };
|
|
||||||
CipherSuite TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = { 0xC0,0x22 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = { 0xC0,0x23 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = { 0xC0,0x24 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = { 0xC0,0x25 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = { 0xC0,0x26 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = { 0xC0,0x27 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = { 0xC0,0x28 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = { 0xC0,0x29 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = { 0xC0,0x2A };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = { 0xC0,0x2B };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = { 0xC0,0x2C };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = { 0xC0,0x2D };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = { 0xC0,0x2E };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = { 0xC0,0x2F };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = { 0xC0,0x30 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = { 0xC0,0x31 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = { 0xC0,0x32 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_RC4_128_SHA = { 0xC0,0x33 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = { 0xC0,0x34 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = { 0xC0,0x35 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = { 0xC0,0x36 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = { 0xC0,0x37 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = { 0xC0,0x38 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_NULL_SHA = { 0xC0,0x39 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_NULL_SHA256 = { 0xC0,0x3A };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_NULL_SHA384 = { 0xC0,0x3B };
|
|
||||||
CipherSuite TLS_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x3C };
|
|
||||||
CipherSuite TLS_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3D };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x3E };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3F };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x40 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x41 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x42 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x43 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x44 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x45 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x46 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x47 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x48 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x49 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4A };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4B };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4C };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4D };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4E };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4F };
|
|
||||||
CipherSuite TLS_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x50 };
|
|
||||||
CipherSuite TLS_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x51 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x52 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x53 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x54 };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x55 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x56 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x57 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x58 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x59 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5A };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5B };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5C };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5D };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5E };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5F };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x60 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x61 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x62 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x63 };
|
|
||||||
CipherSuite TLS_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x64 };
|
|
||||||
CipherSuite TLS_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x65 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x66 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x67 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x68 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x69 };
|
|
||||||
CipherSuite TLS_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6A };
|
|
||||||
CipherSuite TLS_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6B };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6C };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6D };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6E };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6F };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x70 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x71 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x72 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x73 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x74 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x75 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x76 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x77 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x78 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x79 };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x7A };
|
|
||||||
CipherSuite TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x7B };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x7C };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x7D };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x7E };
|
|
||||||
CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x7F };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x80 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x81 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x82 };
|
|
||||||
CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x83 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x84 };
|
|
||||||
CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x85 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x86 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x87 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x88 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x89 };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x8A };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x8B };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x8C };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x8D };
|
|
||||||
CipherSuite TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x8E };
|
|
||||||
CipherSuite TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x8F };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x90 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x91 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = { 0xC0,0x92 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = { 0xC0,0x93 };
|
|
||||||
CipherSuite TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x94 };
|
|
||||||
CipherSuite TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x95 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x96 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x97 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x98 };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x99 };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = { 0xC0,0x9A };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = { 0xC0,0x9B };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_128_CCM = { 0xC0,0x9C };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_256_CCM = { 0xC0,0x9D };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_128_CCM = { 0xC0,0x9E };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_256_CCM = { 0xC0,0x9F };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_128_CCM_8 = { 0xC0,0xA0 };
|
|
||||||
CipherSuite TLS_RSA_WITH_AES_256_CCM_8 = { 0xC0,0xA1 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_128_CCM_8 = { 0xC0,0xA2 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_AES_256_CCM_8 = { 0xC0,0xA3 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_128_CCM = { 0xC0,0xA4 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_256_CCM = { 0xC0,0xA5 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_128_CCM = { 0xC0,0xA6 };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_AES_256_CCM = { 0xC0,0xA7 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_128_CCM_8 = { 0xC0,0xA8 };
|
|
||||||
CipherSuite TLS_PSK_WITH_AES_256_CCM_8 = { 0xC0,0xA9 };
|
|
||||||
CipherSuite TLS_PSK_DHE_WITH_AES_128_CCM_8 = { 0xC0,0xAA };
|
|
||||||
CipherSuite TLS_PSK_DHE_WITH_AES_256_CCM_8 = { 0xC0,0xAB };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CCM = { 0xC0,0xAC };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CCM = { 0xC0,0xAD };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = { 0xC0,0xAE };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = { 0xC0,0xAF };
|
|
||||||
CipherSuite TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xA8 };
|
|
||||||
CipherSuite TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xA9 };
|
|
||||||
CipherSuite TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xAA };
|
|
||||||
CipherSuite TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xAB };
|
|
||||||
CipherSuite TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xAC };
|
|
||||||
CipherSuite TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xAD };
|
|
||||||
CipherSuite TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = { 0xCC,0xAE };
|
|
||||||
CipherSuite TLS_FALLBACK_SCSV = { 0x56,0x00 };
|
|
||||||
// New PSK ciphers introduced by TLS 1.3
|
|
||||||
// https://tlswg.github.io/tls13-spec/#rfc.appendix.A.4
|
|
||||||
CipherSuite TLS_AES_128_GCM_SHA256 = { 0x13,0x01 };
|
|
||||||
CipherSuite TLS_AES_256_GCM_SHA384 = { 0x13,0x02 };
|
|
||||||
CipherSuite TLS_CHACHA20_POLY1305_SHA256 = { 0x13,0x03 };
|
|
||||||
CipherSuite TLS_AES_128_CCM_SHA256 = { 0x13,0x04 };
|
|
||||||
CipherSuite TLS_AES_128_CCM_8_SHA256 = { 0x13,0x05 };
|
|
||||||
// DRAFT-IETF-TLS-ECC
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_NULL_SHA = { 0x00,0x47 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_RC4_128_SHA = { 0x00,0x48 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_DES_CBC_SHA = { 0x00,0x49 };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = { 0x00,0x4A };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = { 0x00,0x4B };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = { 0x00,0x4C };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA = { 0x00,0x4B };
|
|
||||||
CipherSuite TLS_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA = { 0x00,0x4C };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_NULL_SHA = { 0x00,0x4D };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_RC4_128_SHA = { 0x00,0x4E };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_DES_CBC_SHA = { 0x00,0x4F };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = { 0x00,0x50 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x51 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x52 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_EXPORT_WITH_RC4_40_SHA = { 0x00,0x53 };
|
|
||||||
CipherSuite TLS_ECDH_RSA_EXPORT_WITH_RC4_56_SHA = { 0x00,0x54 };
|
|
||||||
CipherSuite TLS_ECDH_anon_NULL_WITH_SHA = { 0x00,0x55 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_RC4_128_SHA = { 0x00,0x56 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_DES_CBC_SHA = { 0x00,0x57 };
|
|
||||||
CipherSuite TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = { 0x00,0x58 };
|
|
||||||
CipherSuite TLS_ECDH_anon_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x59 };
|
|
||||||
CipherSuite TLS_ECDH_anon_EXPORT_WITH_RC4_40_SHA = { 0x00,0x5A };
|
|
||||||
// DRAFT-IETF-TLS-56-BIT-CIPHERSUITES
|
|
||||||
CipherSuite TLS_RSA_EXPORT1024_WITH_RC4_56_MD5 = { 0x00,0x60 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 = { 0x00,0x61 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA = { 0x00,0x62 };
|
|
||||||
CipherSuite TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA = { 0x00,0x63 };
|
|
||||||
CipherSuite TLS_RSA_EXPORT1024_WITH_RC4_56_SHA = { 0x00,0x64 };
|
|
||||||
CipherSuite TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA = { 0x00,0x65 };
|
|
||||||
CipherSuite TLS_DHE_DSS_WITH_RC4_128_SHA = { 0x00,0x66 };
|
|
||||||
// FIPS SSL (Netscape)
|
|
||||||
CipherSuite SSL_RSA_FIPS_WITH_DES_CBC_SHA = { 0xFE,0xFE };
|
|
||||||
CipherSuite SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA = { 0xFE,0xFF };
|
|
||||||
// SSL 2.0
|
|
||||||
CipherSuite SSL2_RC4_128_WITH_MD5 = { 0x01,0x00,0x80 };
|
|
||||||
CipherSuite SSL2_RC4_128_EXPORT40_WITH_MD5 = { 0x02,0x00,0x80 };
|
|
||||||
CipherSuite SSL2_RC2_CBC_128_CBC_WITH_MD5 = { 0x03,0x00,0x80 };
|
|
||||||
CipherSuite SSL2_RC2_128_CBC_EXPORT40_WITH_MD5 = { 0x04,0x00,0x80 };
|
|
||||||
CipherSuite SSL2_IDEA_128_CBC_WITH_MD5 = { 0x05,0x00,0x80 };
|
|
||||||
CipherSuite SSL2_DES_64_CBC_WITH_MD5 = { 0x06,0x00,0x40 };
|
|
||||||
CipherSuite SSL2_DES_64_CBC_WITH_SHA = { 0x06,0x01,0x40 };
|
|
||||||
CipherSuite SSL2_DES_192_EDE3_CBC_WITH_MD5 = { 0x07,0x00,0xc0 };
|
|
||||||
CipherSuite SSL2_DES_192_EDE3_CBC_WITH_SHA = { 0x07,0x01,0xc0 };
|
|
||||||
CipherSuite SSL2_RC4_64_WITH_MD5 = { 0x08,0x00,0x80 };
|
|
||||||
} cipher_suite;
|
|
||||||
|
|
||||||
|
|
||||||
select { warning(1), fatal(2), (255) } AlertLevel;
|
|
||||||
select {
|
|
||||||
close_notify(0),
|
|
||||||
unexpected_message(10),
|
|
||||||
bad_record_mac(20),
|
|
||||||
decryption_failed(21),
|
|
||||||
record_overflow(22),
|
|
||||||
decompression_failure(30),
|
|
||||||
handshake_failure(40),
|
|
||||||
bad_certificate(42),
|
|
||||||
unsupported_certificate(43),
|
|
||||||
certificate_revoked(44),
|
|
||||||
certificate_expired(45),
|
|
||||||
certificate_unknown(46),
|
|
||||||
illegal_parameter(47),
|
|
||||||
unknown_ca(48),
|
|
||||||
access_denied(49),
|
|
||||||
decode_error(50),
|
|
||||||
decrypt_error(51),
|
|
||||||
export_restriction(60),
|
|
||||||
protocol_version(70),
|
|
||||||
insufficient_security(71),
|
|
||||||
internal_error(80),
|
|
||||||
user_canceled(90),
|
|
||||||
no_renegotiation(100),
|
|
||||||
(255)
|
|
||||||
} AlertDescription;
|
|
||||||
|
|
||||||
constant {
|
|
||||||
CompressionMethod NULL={0};
|
|
||||||
} compression_method;
|
|
||||||
|
|
||||||
select {
|
|
||||||
rsa_sign(1), dss_sign(2), rsa_fixed_dh(3), dss_fixed_dh(4),
|
|
||||||
(255)
|
|
||||||
} client_certificate_type;
|
|
|
@ -1,67 +0,0 @@
|
||||||
%option yylineno
|
|
||||||
|
|
||||||
%{
|
|
||||||
#include "y.tab.h"
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#define RETURN(x) printf("TOK:%s\n",#x); return(x)
|
|
||||||
#else
|
|
||||||
#define RETURN return
|
|
||||||
#endif
|
|
||||||
|
|
||||||
long strtol();
|
|
||||||
%}
|
|
||||||
|
|
||||||
IDCHAR [a-zA-Z0-9_\-\.]
|
|
||||||
NUMCHAR [0-9]
|
|
||||||
S [ \t\n\r\f]+
|
|
||||||
NAME [a-zA-Z]{IDCHAR}+
|
|
||||||
NUM {NUMCHAR}+
|
|
||||||
HEXNUM "0x"[0-9A-Za-z]+
|
|
||||||
COMMENT "/*"("*"?[^/]+)*("*/")
|
|
||||||
CODE "{@"[^@]+"@}"
|
|
||||||
%%
|
|
||||||
|
|
||||||
".." {RETURN(DOT_DOT_);}
|
|
||||||
"enum" {RETURN(ENUM_);}
|
|
||||||
"struct" {RETURN(STRUCT_);}
|
|
||||||
"opaque" {mkname();RETURN(OPAQUE_);}
|
|
||||||
"select" {RETURN(SELECT_);}
|
|
||||||
"constant" {RETURN(CONSTANT_);}
|
|
||||||
"digitally-signed" {/* Do nothing*/}
|
|
||||||
"public-key-encrypted" {/* Do nothing*/}
|
|
||||||
"case" {RETURN(CASE_);}
|
|
||||||
{COMMENT} { /*Do nothing*/}
|
|
||||||
{CODE} { strcpy(yylval.str,yytext); RETURN(CODE_);}
|
|
||||||
|
|
||||||
{S} {/*do nothing*/}
|
|
||||||
{NAME} {mkname();RETURN(NAME_);}
|
|
||||||
{NUM} {yylval.val=atoi(yytext); RETURN(NUM_);}
|
|
||||||
{HEXNUM} {yylval.val=strtol(yytext,0,16); RETURN(NUM_);}
|
|
||||||
"{" { RETURN('{'); }
|
|
||||||
"}" { RETURN('}'); }
|
|
||||||
"(" { RETURN('('); }
|
|
||||||
")" { RETURN(')'); }
|
|
||||||
"[" { RETURN('['); }
|
|
||||||
"]" { RETURN(']'); }
|
|
||||||
"<" { RETURN('<'); }
|
|
||||||
">" { RETURN('>'); }
|
|
||||||
";" { RETURN(';'); }
|
|
||||||
":" { RETURN(':'); }
|
|
||||||
"," { RETURN(','); }
|
|
||||||
"." { RETURN('.'); }
|
|
||||||
"^" { RETURN('^'); }
|
|
||||||
"-" { RETURN('-'); }
|
|
||||||
"=" { RETURN('='); }
|
|
||||||
. { fprintf(stderr,"Invalid input token: %s at %d!!!\n",yytext,yylineno);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
%%
|
|
||||||
int mkname()
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
printf("%s\n",yytext);
|
|
||||||
#endif
|
|
||||||
strcpy(yylval.str,yytext);
|
|
||||||
}
|
|
241
ssl/Attic/ssl.y
241
ssl/Attic/ssl.y
|
@ -1,241 +0,0 @@
|
||||||
/**
|
|
||||||
ssl.y
|
|
||||||
|
|
||||||
Copyright (C) 1998, RTFM, Inc.
|
|
||||||
All Rights Reserved.
|
|
||||||
|
|
||||||
ekr@rtfm.com Fri Dec 25 20:33:47 1998
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
%{
|
|
||||||
|
|
||||||
typedef struct select_st_ {
|
|
||||||
char *name;
|
|
||||||
char *code;
|
|
||||||
int val;
|
|
||||||
struct select_st_ *next;
|
|
||||||
} select_st;
|
|
||||||
|
|
||||||
|
|
||||||
select_st *select_base;
|
|
||||||
select_st *select_ptr;
|
|
||||||
|
|
||||||
select_st *constant_base;
|
|
||||||
select_st *constant_ptr;
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
extern FILE *dotc;
|
|
||||||
extern FILE *doth;
|
|
||||||
|
|
||||||
%}
|
|
||||||
%union {
|
|
||||||
int val;
|
|
||||||
unsigned char str[8192];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*These tokens have attributes*/
|
|
||||||
%token <str> NAME_
|
|
||||||
%token <val> NUM_
|
|
||||||
|
|
||||||
/*Tokens*/
|
|
||||||
%token <val> DOT_DOT_
|
|
||||||
%token <val> STRUCT_
|
|
||||||
%token <val> SELECT_
|
|
||||||
%token <str> OPAQUE_
|
|
||||||
%token <val> SELECT_
|
|
||||||
%token <val> ENUM_
|
|
||||||
%token <val> DIGITALLY_SIGNED_
|
|
||||||
%token <val> COMMENT_START_
|
|
||||||
%token <str> CODE_
|
|
||||||
%token <val> COMMENT_END_
|
|
||||||
%token <val> CASE_
|
|
||||||
%token <val> CONSTANT_
|
|
||||||
/*Types for nonterminals*/
|
|
||||||
%type <val> module
|
|
||||||
%type <val> typelist
|
|
||||||
%type <val> definition
|
|
||||||
%type <val> selecttype
|
|
||||||
%type <val> constant_type
|
|
||||||
%type <val> selecterateds
|
|
||||||
%type <val> selectmax
|
|
||||||
%type <val> constval
|
|
||||||
/*%type <val> selecterated*/
|
|
||||||
%%
|
|
||||||
module: typelist
|
|
||||||
|
|
||||||
typelist: {$$=1};
|
|
||||||
| definition typelist
|
|
||||||
{
|
|
||||||
$$=1;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
definition: selecttype
|
|
||||||
| constant_type
|
|
||||||
;
|
|
||||||
|
|
||||||
selecttype: SELECT_ '{' selecterateds ',' selectmax '}' NAME_ ';'
|
|
||||||
{
|
|
||||||
select_st *en;
|
|
||||||
char filename[100];
|
|
||||||
|
|
||||||
for(en=select_base;en;en=en->next){
|
|
||||||
fprintf(dotc,"static int decode_%s_%s(ssl,dir,seg,data)\n",
|
|
||||||
$7,en->name);
|
|
||||||
fprintf(dotc," ssl_obj *ssl;\n");
|
|
||||||
fprintf(dotc," int dir;\n");
|
|
||||||
fprintf(dotc," segment *seg;\n");
|
|
||||||
fprintf(dotc," Data *data;\n");
|
|
||||||
fprintf(dotc," {\n");
|
|
||||||
if(en->code){
|
|
||||||
en->code+=2;
|
|
||||||
en->code[strlen(en->code)-2]=0;
|
|
||||||
fprintf(dotc,"\n%s\n",en->code);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
/* fprintf(dotc," fprintf(dotc,\"Decoding %s...%cn\");\n",en->name,'\\');*/
|
|
||||||
fprintf(dotc," return(0);\n");
|
|
||||||
}
|
|
||||||
fprintf(dotc," }\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(dotc,"decoder %s_decoder[]={\n",$7);
|
|
||||||
fprintf(doth,"extern decoder %s_decoder[];\n",$7);
|
|
||||||
for(en=select_base;en;en=en->next){
|
|
||||||
fprintf(dotc," {\n");
|
|
||||||
fprintf(dotc," %d,\n",en->val);
|
|
||||||
fprintf(dotc," \"%s\",\n",en->name);
|
|
||||||
fprintf(dotc," decode_%s_%s\n",$7,en->name);
|
|
||||||
fprintf(dotc," },\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(dotc,"{-1}\n");
|
|
||||||
fprintf(dotc,"};\n\n");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
select_base=0;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
selecterateds: selecterateds ',' selecterated
|
|
||||||
| selecterated
|
|
||||||
{;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
selectmax: '(' NUM_ ')'
|
|
||||||
{$$=1;};
|
|
||||||
|
|
||||||
selecterated: selecterated_no_code
|
|
||||||
| selecterated_code
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
selecterated_code: NAME_ '(' NUM_ ')' CODE_
|
|
||||||
{
|
|
||||||
select_st *en;
|
|
||||||
|
|
||||||
en=malloc(sizeof(select_st));
|
|
||||||
|
|
||||||
en->next=0;
|
|
||||||
en->val=$3;
|
|
||||||
en->name=strdup($1);
|
|
||||||
en->code=strdup($5);
|
|
||||||
|
|
||||||
if(!select_base){
|
|
||||||
select_base=en;
|
|
||||||
select_ptr=en;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
select_ptr->next=en;
|
|
||||||
select_ptr=en;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
selecterated_no_code: NAME_ '(' NUM_ ')'
|
|
||||||
{
|
|
||||||
select_st *en;
|
|
||||||
|
|
||||||
en=malloc(sizeof(select_st));
|
|
||||||
|
|
||||||
en->next=0;
|
|
||||||
en->val=$3;
|
|
||||||
en->name=strdup($1);
|
|
||||||
en->code=0;
|
|
||||||
|
|
||||||
if(!select_base){
|
|
||||||
select_base=en;
|
|
||||||
select_ptr=en;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
select_ptr->next=en;
|
|
||||||
select_ptr=en;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
constant_type: CONSTANT_ '{' constants '}' NAME_ ';'
|
|
||||||
{
|
|
||||||
select_st *en;
|
|
||||||
|
|
||||||
fprintf(dotc,"decoder %s_decoder[]={\n",$5);
|
|
||||||
fprintf(doth,"extern decoder %s_decoder[];\n",$5);
|
|
||||||
|
|
||||||
for(en=constant_base;en;en=en->next){
|
|
||||||
fprintf(dotc," {\n");
|
|
||||||
fprintf(dotc," %d,\n",en->val);
|
|
||||||
fprintf(dotc," \"%s\",\n",en->name);
|
|
||||||
fprintf(dotc," 0");
|
|
||||||
fprintf(dotc," },\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(dotc,"{-1}\n");
|
|
||||||
fprintf(dotc,"};\n\n");
|
|
||||||
constant_ptr=0;
|
|
||||||
constant_base=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
constants: constants constant
|
|
||||||
| constant
|
|
||||||
{;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
constant: NAME_ NAME_ '=' '{' constval '}' ';'
|
|
||||||
{
|
|
||||||
select_st *en;
|
|
||||||
|
|
||||||
en=malloc(sizeof(select_st));
|
|
||||||
|
|
||||||
en->next=0;
|
|
||||||
en->val=$5;
|
|
||||||
en->name=strdup($2);
|
|
||||||
|
|
||||||
if(!constant_base){
|
|
||||||
constant_base=en;
|
|
||||||
constant_ptr=en;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
constant_ptr->next=en;
|
|
||||||
constant_ptr=en;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
constval: NUM_ ',' NUM_ ',' NUM_
|
|
||||||
{
|
|
||||||
$$=($1 << 16) | ($3 << 8) | $5;
|
|
||||||
}
|
|
||||||
| NUM_ ',' NUM_
|
|
||||||
{
|
|
||||||
$$=($1 << 8) | $3;
|
|
||||||
}
|
|
||||||
| NUM_
|
|
||||||
{
|
|
||||||
$$=$1;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
|
@ -1,343 +0,0 @@
|
||||||
#include "network.h"
|
|
||||||
#include "ssl.h"
|
|
||||||
#include "sslprint.h"
|
|
||||||
static int
|
|
||||||
decode_ContentType_change_cipher_spec (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_ContentType_alert (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_ContentType_handshake (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
extern decoder HandshakeType_decoder[];
|
|
||||||
int r;
|
|
||||||
UINT4 t,l;
|
|
||||||
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&t);
|
|
||||||
SSL_DECODE_UINT24(ssl,0,0,data,&l);
|
|
||||||
|
|
||||||
if(data->len!=l){
|
|
||||||
fprintf(stderr,"Error: short handshake length: expected %d got %d\n",
|
|
||||||
l,data->len);
|
|
||||||
ERETURN(R_EOD);
|
|
||||||
}
|
|
||||||
|
|
||||||
ssl_decode_switch(ssl,HandshakeType_decoder,t,dir,seg,data);
|
|
||||||
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_ContentType_application_data (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
decoder ContentType_decoder[]={
|
|
||||||
{
|
|
||||||
20,
|
|
||||||
"change_cipher_spec",
|
|
||||||
decode_ContentType_change_cipher_spec
|
|
||||||
},
|
|
||||||
{
|
|
||||||
21,
|
|
||||||
"alert",
|
|
||||||
decode_ContentType_alert
|
|
||||||
},
|
|
||||||
{
|
|
||||||
22,
|
|
||||||
"handshake",
|
|
||||||
decode_ContentType_handshake
|
|
||||||
},
|
|
||||||
{
|
|
||||||
23,
|
|
||||||
"application_data",
|
|
||||||
decode_ContentType_application_data
|
|
||||||
},
|
|
||||||
{-1}
|
|
||||||
};
|
|
||||||
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_hello_request (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_client_hello (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
UINT4 vj,vn,cs,cslen,complen,comp;
|
|
||||||
Data session_id,random;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
extern decoder cipher_suite_decoder[];
|
|
||||||
extern decoder compression_method_decoder[];
|
|
||||||
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vj);
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vn);
|
|
||||||
|
|
||||||
P_(P_ND) {explain(ssl,"Client version %d.%d ",vj,vn);}
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"random",32,P_ND,data,&random);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"session_id",-32,0,data,&session_id);
|
|
||||||
|
|
||||||
if(session_id.len)
|
|
||||||
exdump(ssl,"resume ",&session_id);
|
|
||||||
|
|
||||||
SSL_DECODE_UINT16(ssl,"cipher Suites len",0,data,&cslen);
|
|
||||||
explain(ssl,"cipher suites\n");
|
|
||||||
|
|
||||||
for(;cslen;cslen-=2){
|
|
||||||
SSL_DECODE_ENUM(ssl,0,2,cipher_suite_decoder,
|
|
||||||
P_HL,data,&cs);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
SSL_DECODE_UINT8(ssl,"compressionMethod len",0,data,&complen);
|
|
||||||
if(complen){
|
|
||||||
explain(ssl,"compression methods\n");
|
|
||||||
for(;complen;complen--){
|
|
||||||
SSL_DECODE_ENUM(ssl,0,1,compression_method_decoder,P_HL,data,&comp);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_server_hello (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
int r;
|
|
||||||
|
|
||||||
UINT4 vj,vn;
|
|
||||||
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vj);
|
|
||||||
SSL_DECODE_UINT8(ssl,0,0,data,&vn);
|
|
||||||
|
|
||||||
P_(P_ND) {explain(ssl,"SSL version %d.%d ",vj,vn);}
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"random",32,P_ND,data,0);
|
|
||||||
SSL_DECODE_OPAQUE_ARRAY(ssl,"session_id",32,P_ND,data,0);
|
|
||||||
SSL_DECODE_ENUM(ssl,0,2,cipher_suite_decoder,
|
|
||||||
P_HL,data,0);
|
|
||||||
SSL_DECODE_ENUM(ssl,0,1,compression_method_decoder,P_HL,data,0);
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_certificate (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_server_key_exchange (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_certificate_request (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_server_hello_done (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_certificate_verify (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_client_key_exchange (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
static int
|
|
||||||
decode_HandshakeType_finished (ssl_obj *ssl, int dir, segment *seg, Data *data)
|
|
||||||
{
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
decoder HandshakeType_decoder[]={
|
|
||||||
{
|
|
||||||
0,
|
|
||||||
"hello_request",
|
|
||||||
decode_HandshakeType_hello_request
|
|
||||||
},
|
|
||||||
{
|
|
||||||
1,
|
|
||||||
"client_hello",
|
|
||||||
decode_HandshakeType_client_hello
|
|
||||||
},
|
|
||||||
{
|
|
||||||
2,
|
|
||||||
"server_hello",
|
|
||||||
decode_HandshakeType_server_hello
|
|
||||||
},
|
|
||||||
{
|
|
||||||
11,
|
|
||||||
"certificate",
|
|
||||||
decode_HandshakeType_certificate
|
|
||||||
},
|
|
||||||
{
|
|
||||||
12,
|
|
||||||
"server_key_exchange",
|
|
||||||
decode_HandshakeType_server_key_exchange
|
|
||||||
},
|
|
||||||
{
|
|
||||||
13,
|
|
||||||
"certificate_request",
|
|
||||||
decode_HandshakeType_certificate_request
|
|
||||||
},
|
|
||||||
{
|
|
||||||
14,
|
|
||||||
"server_hello_done",
|
|
||||||
decode_HandshakeType_server_hello_done
|
|
||||||
},
|
|
||||||
{
|
|
||||||
15,
|
|
||||||
"certificate_verify",
|
|
||||||
decode_HandshakeType_certificate_verify
|
|
||||||
},
|
|
||||||
{
|
|
||||||
16,
|
|
||||||
"client_key_exchange",
|
|
||||||
decode_HandshakeType_client_key_exchange
|
|
||||||
},
|
|
||||||
{
|
|
||||||
20,
|
|
||||||
"finished",
|
|
||||||
decode_HandshakeType_finished
|
|
||||||
},
|
|
||||||
{-1}
|
|
||||||
};
|
|
||||||
|
|
||||||
decoder cipher_suite_decoder[]={
|
|
||||||
{
|
|
||||||
1,
|
|
||||||
"TLS_RSA_WITH_NULL_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
2,
|
|
||||||
"TLS_RSA_WITH_NULL_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
3,
|
|
||||||
"TLS_RSA_EXPORT_WITH_RC4_40_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
4,
|
|
||||||
"TLS_RSA_WITH_RC4_128_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
5,
|
|
||||||
"TLS_RSA_WITH_RC4_128_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
6,
|
|
||||||
"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
7,
|
|
||||||
"TLS_RSA_WITH_IDEA_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
8,
|
|
||||||
"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
9,
|
|
||||||
"TLS_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
10,
|
|
||||||
"TLS_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
11,
|
|
||||||
"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
12,
|
|
||||||
"TLS_DH_DSS_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
13,
|
|
||||||
"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
14,
|
|
||||||
"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
15,
|
|
||||||
"TLS_DH_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
16,
|
|
||||||
"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
17,
|
|
||||||
"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
18,
|
|
||||||
"TLS_DHE_DSS_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
19,
|
|
||||||
"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
20,
|
|
||||||
"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
21,
|
|
||||||
"TLS_DHE_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
22,
|
|
||||||
"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
23,
|
|
||||||
"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
24,
|
|
||||||
"TLS_DH_anon_WITH_RC4_128_MD5",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
25,
|
|
||||||
"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
26,
|
|
||||||
"TLS_DH_anon_WITH_DES_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{
|
|
||||||
27,
|
|
||||||
"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0 },
|
|
||||||
{-1}
|
|
||||||
};
|
|
||||||
|
|
||||||
decoder compression_method_decoder[]={
|
|
||||||
{
|
|
||||||
7,
|
|
||||||
"NULL",
|
|
||||||
0 },
|
|
||||||
{-1}
|
|
||||||
};
|
|
||||||
|
|
1124
ssl/Attic/y.tab.c
1124
ssl/Attic/y.tab.c
File diff suppressed because it is too large
Load diff
|
@ -1,20 +0,0 @@
|
||||||
typedef union {
|
|
||||||
int val;
|
|
||||||
unsigned char str[8192];
|
|
||||||
} YYSTYPE;
|
|
||||||
#define NAME_ 257
|
|
||||||
#define NUM_ 258
|
|
||||||
#define DOT_DOT_ 259
|
|
||||||
#define STRUCT_ 260
|
|
||||||
#define SELECT_ 261
|
|
||||||
#define OPAQUE_ 262
|
|
||||||
#define ENUM_ 263
|
|
||||||
#define DIGITALLY_SIGNED_ 264
|
|
||||||
#define COMMENT_START_ 265
|
|
||||||
#define CODE_ 266
|
|
||||||
#define COMMENT_END_ 267
|
|
||||||
#define CASE_ 268
|
|
||||||
#define CONSTANT_ 269
|
|
||||||
|
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
|
Loading…
Reference in a new issue