upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD

now, so there is no need to keep a copy of each in the pkcs11_key object.

work by markus@, ok djm@

OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index 1a6e980..b490349 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11.c,v 1.35 2019/01/20 23:11:11 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11.c,v 1.36 2019/01/20 23:12:35 djm Exp $ */
 /*
  * Copyright (c) 2010 Markus Friedl.  All rights reserved.
  * Copyright (c) 2014 Pedro Martelletto. All rights reserved.
@@ -72,8 +72,6 @@
 struct pkcs11_key {
 	struct pkcs11_provider	*provider;
 	CK_ULONG		slotidx;
-	RSA_METHOD		*rsa_method;
-	EC_KEY_METHOD		*ec_key_method;
 	char			*keyid;
 	int			keyid_len;
 };
@@ -406,8 +404,7 @@
 		memcpy(k11->keyid, keyid_attrib->pValue, k11->keyid_len);
 	}
 
-	k11->rsa_method = rsa_method;
-	RSA_set_method(rsa, k11->rsa_method);
+	RSA_set_method(rsa, rsa_method);
 	RSA_set_ex_data(rsa, rsa_idx, k11);
 	return (0);
 }
@@ -509,9 +506,8 @@
 	k11->keyid_len = keyid_attrib->ulValueLen;
 	k11->keyid = xmalloc(k11->keyid_len);
 	memcpy(k11->keyid, keyid_attrib->pValue, k11->keyid_len);
-	k11->ec_key_method = ec_key_method;
 
-	EC_KEY_set_method(ec, k11->ec_key_method);
+	EC_KEY_set_method(ec, ec_key_method);
 	EC_KEY_set_ex_data(ec, ec_key_idx, k11);
 
 	return (0);