openssl: SSL3 alert write:fatal:bad record mac by RC4-SHA
server: OPENSSL_MODULES=../providers gdb --args ./openssl s_server -tls1 -state -cert eecert.pem -key eekey.pem -cipher RC4-SHA -msg
client : OPENSSL_MODULES=../providers gdb --args ./openssl s_client -tls1 -state -cipher RC4-SHA -CAfile rootcert.pem -CAfile cacert.pem -msg
I loaded the legacy provider into the default library context as shown below
legacy = OSSL_PROVIDER_load(NULL, "legacy"); if (legacy == NULL) { printf("Failed to load Legacy provider\n"); } deflt = OSSL_PROVIDER_load(NULL, "default"); if (deflt == NULL) { printf("Failed to load Default provider\n"); OSSL_PROVIDER_unload(legacy); }
And set security level 0 SSL_CTX_set_security_level(ctx, 0)
But there appeared the following error
client: SSL3 alert read:fatal:bad record mac SSL_connect:error in error 0017FDF7FF7F0000:error::SSL routines::sslv3 alert bad record mac:ssl/record/rec_layer_s3.c:1615:SSL alert number 20
server: SSL3 alert write:fatal:bad record mac SSL_accept:error in error ERROR 0017FDF7FF7F0000:error::SSL routines::decryption failed or bad record mac:ssl/record/ssl3_record.c:664:
Can you give me a help,thanks!
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16 (7 by maintainers)
Commits related to this issue
- Ensure Stream ciphers know how to remove a TLS MAC We previously updated the block ciphers to know how to remove a TLS MAC when using Encrypt-then-MAC. We also need to do the same for stream ciphers.... — committed to mattcaswell/openssl by mattcaswell 4 years ago
- Ensure Stream ciphers know how to remove a TLS MAC We previously updated the block ciphers to know how to remove a TLS MAC when using Encrypt-then-MAC. We also need to do the same for stream ciphers.... — committed to openssl/openssl by mattcaswell 4 years ago
Certificate is OK, I already verified by SSL3_CK_RSA_DES_192_CBC3_SHA and TLS1_CK_RSA_WITH_AES_256_SHA. Only RC4-SHA is unsuccessful(bad record mac)
And I’m using alpha7