 @@ -36,8 +36,8 @@ VALUE cSSLSocket;
  static VALUE eSSLErrorWaitReadable;
  static VALUE eSSLErrorWaitWritable;
- 
+
 -#define ossl_sslctx_set_cert(o,v)        	rb_iv_set((o),"@cert",(v))
 -#define ossl_sslctx_set_key(o,v)         	rb_iv_set((o),"@key",(v))
 +#define ossl_sslctx_set_certs(o,v)        	rb_iv_set((o),"@certs",(v))

         }
@@ -2128,14 +2149,14 @@ Init_ossl_ssl(void)
     rb_define_alloc_func(cSSLContext, ossl_sslctx_s_alloc);
 
     /*
-     * Context certificate
+     * Context certificates
      */
-    rb_attr(cSSLContext, rb_intern("cert"), 1, 1, Qfalse);
+    rb_attr(cSSLContext, rb_intern("certs"), 1, 1, Qfalse);
 
     /*
-     * Context private key
+     * Context private keys
      */
-    rb_attr(cSSLContext, rb_intern("key"), 1, 1, Qfalse);
+    rb_attr(cSSLContext, rb_intern("keys"), 1, 1, Qfalse);
 
     /*
      * A certificate or Array of certificates that will be sent to the client.

+        self.keys.first
+      end
     end

     module SocketForwarder
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index 9f7ee0b..9437793 100644
