        alg_bits = 256;
        strength_bits = 256;
 diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc
-index 9ecd7df..8be79a2 100644
+index 9ecd7df..c1d77b1 100644
 --- a/ssl/ssl_lib.cc
 +++ b/ssl/ssl_lib.cc
 @@ -454,6 +454,169 @@ static int ssl_session_cmp(const SSL_SESSION *a, const SSL_SESSION *b) {

 
 const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl) {
+#ifdef GOSTSSL
+    if( ssl->s3->established_session && 
+        ssl->s3->established_session->cipher &&
+        ssl->s3->established_session->cipher->algorithm_enc == SSL_eGOST28147 )
+        return ssl->s3->established_session->cipher;

+    for( size_t i = 0; i < count; i++ )
+    {
+        UniquePtr<CRYPTO_BUFFER> buffer( CRYPTO_BUFFER_new( (const uint8_t *)bufs[i], lens[i], ssl->ctx->pool ) );
+
+        if( !buffer || !PushToStack( ret.get(), std::move( buffer ) ) )
+            return 0;
+    }
