731
742
SSL_ALL_STRENGTHS,
733
744
#endif /* OPENSSL_NO_KRB5 */
745
/* New AES ciphersuites */
750
TLS1_TXT_RSA_WITH_AES_128_SHA,
751
TLS1_CK_RSA_WITH_AES_128_SHA,
752
SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA |SSL_TLSV1,
753
SSL_NOT_EXP|SSL_HIGH,
763
TLS1_TXT_DH_DSS_WITH_AES_128_SHA,
764
TLS1_CK_DH_DSS_WITH_AES_128_SHA,
765
SSL_kDHd|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
766
SSL_NOT_EXP|SSL_HIGH,
776
TLS1_TXT_DH_RSA_WITH_AES_128_SHA,
777
TLS1_CK_DH_RSA_WITH_AES_128_SHA,
778
SSL_kDHr|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
779
SSL_NOT_EXP|SSL_HIGH,
789
TLS1_TXT_DHE_DSS_WITH_AES_128_SHA,
790
TLS1_CK_DHE_DSS_WITH_AES_128_SHA,
791
SSL_kEDH|SSL_aDSS|SSL_AES|SSL_SHA|SSL_TLSV1,
792
SSL_NOT_EXP|SSL_HIGH,
802
TLS1_TXT_DHE_RSA_WITH_AES_128_SHA,
803
TLS1_CK_DHE_RSA_WITH_AES_128_SHA,
804
SSL_kEDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
805
SSL_NOT_EXP|SSL_HIGH,
815
TLS1_TXT_ADH_WITH_AES_128_SHA,
816
TLS1_CK_ADH_WITH_AES_128_SHA,
817
SSL_kEDH|SSL_aNULL|SSL_AES|SSL_SHA|SSL_TLSV1,
818
SSL_NOT_EXP|SSL_HIGH,
829
TLS1_TXT_RSA_WITH_AES_256_SHA,
830
TLS1_CK_RSA_WITH_AES_256_SHA,
831
SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA |SSL_TLSV1,
832
SSL_NOT_EXP|SSL_HIGH,
842
TLS1_TXT_DH_DSS_WITH_AES_256_SHA,
843
TLS1_CK_DH_DSS_WITH_AES_256_SHA,
844
SSL_kDHd|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
845
SSL_NOT_EXP|SSL_HIGH,
855
TLS1_TXT_DH_RSA_WITH_AES_256_SHA,
856
TLS1_CK_DH_RSA_WITH_AES_256_SHA,
857
SSL_kDHr|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
858
SSL_NOT_EXP|SSL_HIGH,
868
TLS1_TXT_DHE_DSS_WITH_AES_256_SHA,
869
TLS1_CK_DHE_DSS_WITH_AES_256_SHA,
870
SSL_kEDH|SSL_aDSS|SSL_AES|SSL_SHA|SSL_TLSV1,
871
SSL_NOT_EXP|SSL_HIGH,
881
TLS1_TXT_DHE_RSA_WITH_AES_256_SHA,
882
TLS1_CK_DHE_RSA_WITH_AES_256_SHA,
883
SSL_kEDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
884
SSL_NOT_EXP|SSL_HIGH,
894
TLS1_TXT_ADH_WITH_AES_256_SHA,
895
TLS1_CK_ADH_WITH_AES_256_SHA,
896
SSL_kEDH|SSL_aNULL|SSL_AES|SSL_SHA|SSL_TLSV1,
897
SSL_NOT_EXP|SSL_HIGH,
904
#ifndef OPENSSL_NO_ECDH
908
TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA,
909
TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA,
910
SSL_kECDH|SSL_aECDSA|SSL_eNULL|SSL_SHA|SSL_TLSV1,
922
TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA,
923
TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA,
924
SSL_kECDH|SSL_aECDSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
936
TLS1_TXT_ECDH_ECDSA_WITH_DES_CBC_SHA,
937
TLS1_CK_ECDH_ECDSA_WITH_DES_CBC_SHA,
938
SSL_kECDH|SSL_aECDSA|SSL_DES|SSL_SHA|SSL_TLSV1,
950
TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA,
951
TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA,
952
SSL_kECDH|SSL_aECDSA|SSL_3DES|SSL_SHA|SSL_TLSV1,
953
SSL_NOT_EXP|SSL_HIGH,
964
TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
965
TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
966
SSL_kECDH|SSL_aECDSA|SSL_AES|SSL_SHA|SSL_TLSV1,
967
SSL_NOT_EXP|SSL_HIGH,
978
TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
979
TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
980
SSL_kECDH|SSL_aECDSA|SSL_AES|SSL_SHA|SSL_TLSV1,
981
SSL_NOT_EXP|SSL_HIGH,
992
TLS1_TXT_ECDH_RSA_WITH_NULL_SHA,
993
TLS1_CK_ECDH_RSA_WITH_NULL_SHA,
994
SSL_kECDH|SSL_aRSA|SSL_eNULL|SSL_SHA|SSL_TLSV1,
1006
TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA,
1007
TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA,
1008
SSL_kECDH|SSL_aRSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
1020
TLS1_TXT_ECDH_RSA_WITH_DES_CBC_SHA,
1021
TLS1_CK_ECDH_RSA_WITH_DES_CBC_SHA,
1022
SSL_kECDH|SSL_aRSA|SSL_DES|SSL_SHA|SSL_TLSV1,
1023
SSL_NOT_EXP|SSL_LOW,
1034
TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA,
1035
TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA,
1036
SSL_kECDH|SSL_aRSA|SSL_3DES|SSL_SHA|SSL_TLSV1,
1037
SSL_NOT_EXP|SSL_HIGH,
1048
TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA,
1049
TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA,
1050
SSL_kECDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
1051
SSL_NOT_EXP|SSL_HIGH,
1062
TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA,
1063
TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA,
1064
SSL_kECDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
1065
SSL_NOT_EXP|SSL_HIGH,
1076
TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_40_SHA,
1077
TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_40_SHA,
1078
SSL_kECDH|SSL_aRSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
1079
SSL_EXPORT|SSL_EXP40,
1090
TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_56_SHA,
1091
TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_56_SHA,
1092
SSL_kECDH|SSL_aRSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
1093
SSL_EXPORT|SSL_EXP56,
1104
TLS1_TXT_ECDH_anon_WITH_NULL_SHA,
1105
TLS1_CK_ECDH_anon_WITH_NULL_SHA,
1106
SSL_kECDHE|SSL_aNULL|SSL_eNULL|SSL_SHA|SSL_TLSV1,
1118
TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA,
1119
TLS1_CK_ECDH_anon_WITH_RC4_128_SHA,
1120
SSL_kECDHE|SSL_aNULL|SSL_RC4|SSL_SHA|SSL_TLSV1,
1132
TLS1_TXT_ECDH_anon_WITH_DES_CBC_SHA,
1133
TLS1_CK_ECDH_anon_WITH_DES_CBC_SHA,
1134
SSL_kECDHE|SSL_aNULL|SSL_DES|SSL_SHA|SSL_TLSV1,
1135
SSL_NOT_EXP|SSL_LOW,
1146
TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA,
1147
TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA,
1148
SSL_kECDHE|SSL_aNULL|SSL_3DES|SSL_SHA|SSL_TLSV1,
1149
SSL_NOT_EXP|SSL_HIGH,
1160
TLS1_TXT_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA,
1161
TLS1_CK_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA,
1162
SSL_kECDHE|SSL_aNULL|SSL_DES|SSL_SHA|SSL_TLSV1,
1163
SSL_EXPORT|SSL_EXP40,
1174
TLS1_TXT_ECDH_anon_EXPORT_WITH_RC4_40_SHA,
1175
TLS1_CK_ECDH_anon_EXPORT_WITH_RC4_40_SHA,
1176
SSL_kECDHE|SSL_aNULL|SSL_RC4|SSL_SHA|SSL_TLSV1,
1177
SSL_EXPORT|SSL_EXP40,
1185
/* XXX NOTE: The ECC/TLS draft has a bug and reuses 4B for this */
1188
TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA,
1189
TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA,
1190
SSL_kECDH|SSL_aECDSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
1191
SSL_EXPORT|SSL_EXP40,
1200
/* XXX NOTE: The ECC/TLS draft has a bug and reuses 4C for this */
1203
TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA,
1204
TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA,
1205
SSL_kECDH|SSL_aECDSA|SSL_RC4|SSL_SHA|SSL_TLSV1,
1206
SSL_EXPORT|SSL_EXP56,
1214
#endif /* OPENSSL_NO_ECDH */
736
1216
#if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES
737
1217
/* New TLS Export CipherSuites */
827
1307
SSL_ALL_STRENGTHS
830
/* New AES ciphersuites */
835
TLS1_TXT_RSA_WITH_AES_128_SHA,
836
TLS1_CK_RSA_WITH_AES_128_SHA,
837
SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA |SSL_TLSV1,
838
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
848
TLS1_TXT_DH_DSS_WITH_AES_128_SHA,
849
TLS1_CK_DH_DSS_WITH_AES_128_SHA,
850
SSL_kDHd|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
851
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
861
TLS1_TXT_DH_RSA_WITH_AES_128_SHA,
862
TLS1_CK_DH_RSA_WITH_AES_128_SHA,
863
SSL_kDHr|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
864
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
874
TLS1_TXT_DHE_DSS_WITH_AES_128_SHA,
875
TLS1_CK_DHE_DSS_WITH_AES_128_SHA,
876
SSL_kEDH|SSL_aDSS|SSL_AES|SSL_SHA|SSL_TLSV1,
877
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
887
TLS1_TXT_DHE_RSA_WITH_AES_128_SHA,
888
TLS1_CK_DHE_RSA_WITH_AES_128_SHA,
889
SSL_kEDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
890
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
900
TLS1_TXT_ADH_WITH_AES_128_SHA,
901
TLS1_CK_ADH_WITH_AES_128_SHA,
902
SSL_kEDH|SSL_aNULL|SSL_AES|SSL_SHA|SSL_TLSV1,
903
SSL_NOT_EXP|SSL_MEDIUM|SSL_FIPS,
914
TLS1_TXT_RSA_WITH_AES_256_SHA,
915
TLS1_CK_RSA_WITH_AES_256_SHA,
916
SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA |SSL_TLSV1,
917
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
927
TLS1_TXT_DH_DSS_WITH_AES_256_SHA,
928
TLS1_CK_DH_DSS_WITH_AES_256_SHA,
929
SSL_kDHd|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
930
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
940
TLS1_TXT_DH_RSA_WITH_AES_256_SHA,
941
TLS1_CK_DH_RSA_WITH_AES_256_SHA,
942
SSL_kDHr|SSL_aDH|SSL_AES|SSL_SHA|SSL_TLSV1,
943
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
953
TLS1_TXT_DHE_DSS_WITH_AES_256_SHA,
954
TLS1_CK_DHE_DSS_WITH_AES_256_SHA,
955
SSL_kEDH|SSL_aDSS|SSL_AES|SSL_SHA|SSL_TLSV1,
956
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
966
TLS1_TXT_DHE_RSA_WITH_AES_256_SHA,
967
TLS1_CK_DHE_RSA_WITH_AES_256_SHA,
968
SSL_kEDH|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
969
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
979
TLS1_TXT_ADH_WITH_AES_256_SHA,
980
TLS1_CK_ADH_WITH_AES_256_SHA,
981
SSL_kEDH|SSL_aNULL|SSL_AES|SSL_SHA|SSL_TLSV1,
982
SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
1311
#ifndef OPENSSL_NO_ECDH
1312
/* Cipher 77 XXX: ECC ciphersuites offering forward secrecy
1313
* are not yet specified in the ECC/TLS draft but our code
1314
* allows them to be implemented very easily. To add such
1315
* a cipher suite, one needs to add two constant definitions
1316
* to tls1.h and a new structure in this file as shown below. We
1317
* illustrate the process for the made-up cipher
1318
* ECDHE-ECDSA-AES128-SHA.
1322
TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
1323
TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
1324
SSL_kECDHE|SSL_aECDSA|SSL_AES|SSL_SHA|SSL_TLSV1,
1325
SSL_NOT_EXP|SSL_HIGH,
1333
/* Cipher 78 XXX: Another made-up ECC cipher suite that
1334
* offers forward secrecy (ECDHE-RSA-AES128-SHA).
1338
TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA,
1339
TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA,
1340
SSL_kECDHE|SSL_aRSA|SSL_AES|SSL_SHA|SSL_TLSV1,
1341
SSL_NOT_EXP|SSL_HIGH,
1348
#endif /* !OPENSSL_NO_ECDH */
990
1350
/* end of list */
993
static SSL3_ENC_METHOD SSLv3_enc_data={
1353
SSL3_ENC_METHOD SSLv3_enc_data={
996
1356
ssl3_setup_key_block,