*pub = d2i_RSAPublicKey(NULL, (const unsigned char **)&p, len);
*_pub = d2i_RSAPublicKey(NULL, (const unsigned char **)&p, len);
	void separate(RSA *r, RSA **pub, RSA **sec)	{		// public		unsigned char *buf, *p;		int len = i2d_RSAPublicKey(r, NULL);		if(len > 0) {			buf = (unsigned char *)malloc(len);			p = buf;			i2d_RSAPublicKey(r, &p);			p = buf;#ifdef OSSL_097			*pub = d2i_RSAPublicKey(NULL, (const unsigned char **)&p, len);#else			*pub = d2i_RSAPublicKey(NULL, (unsigned char **)&p, len);#endif			free(buf);		}		len = i2d_RSAPrivateKey(r, NULL);		if(len > 0) {			buf = (unsigned char *)malloc(len);			p = buf;			i2d_RSAPrivateKey(r, &p);			p = buf;#ifdef OSSL_097			*sec = d2i_RSAPrivateKey(NULL, (const unsigned char **)&p, len);#else			*sec = d2i_RSAPrivateKey(NULL, (unsigned char **)&p, len);#endif			free(buf);		}	}