i have been facing this issue where i cant send RC4-MD5 cipher in Client hello tls protocol layer. my current code uses curl SSL CTX CALLBACK.
you can see my code below....nothing fancy here but the last cipher does not go in the client hello my tls protocols are http1.0, tlsv1.2, i compiled openssl with option for weak ciphers(and it works for DES cipher)
CURLcode sslctxfun(CURL *curl, void *sslctx, void *parm)
{
sslctxparm *p = (sslctxparm *) parm;
SSL_CTX *ctx = (SSL_CTX *) sslctx;
int ret;
SSL_CTX_set_max_proto_version(ctx, TLS1_2_VERSION);
SSL_CTX_set_min_proto_version(ctx, TLS1_2_VERSION);
ret=SSL_CTX_set_cipher_list(ctx, "AES256-SHA256,AES128-SHA256,AES256-SHA,AES128-SHA,DES-CBC3-SHA,RC4-SHA,RC4-MD5");
.....
SSL_CTX_set_options(ctx, SSL_OP_ALL);
SSL_CTX_set_options(ctx, SSL_OP_NO_TICKET);
SSL_CTX_set_options(ctx, SSL_OP_NO_ENCRYPT_THEN_MAC);
SSL_CTX_set_options(ctx, SSL_OP_CIPHER_SERVER_PREFERENCE);
SSL_CTX_set_options(ctx,SSL_OP_NO_RENEGOTIATION);
SSL_CTX_set_options(ctx, SSL_OP_TLS_ROLLBACK_BUG );
SSL_CTX_set_options(ctx, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS );
SSL_CTX_set_options(ctx, SSL_OP_NO_COMPRESSION );
SSL_CTX_set_options(ctx, SSL_OP_LEGACY_SERVER_CONNECT );
SSL_CONF_CTX *cctx;
cctx = SSL_CONF_CTX_new();
SSL_CONF_CTX_set_flags(cctx, SSL_CONF_FLAG_FILE);
SSL_CONF_CTX_set_ssl_ctx(cctx, ctx);
ret=SSL_CONF_cmd(cctx, "SignatureAlgorithms", "RSA+SHA256:RSA+SHA512:RSA+SHA384:RSA+SHA1");
....
}