else if ( type == "pbkdf1(sha1)" ) return new opensslPbkdf1Context( EVP_sha1(), this, type ); else if ( type == "pbkdf1(md2)" ) return new opensslPbkdf1Context( EVP_md2(), this, type );
	Context *createContext(const QString &type)	{		//OpenSSL_add_all_digests();		if ( type == "sha1" )			return new opensslHashContext( EVP_sha1(), this, type);		else if ( type == "sha0" )			return new opensslHashContext( EVP_sha(), this, type);		else if ( type == "ripemd160" )			return new opensslHashContext( EVP_ripemd160(), this, type);		else if ( type == "md2" )			return new opensslHashContext( EVP_md2(), this, type);		else if ( type == "md4" )			return new opensslHashContext( EVP_md4(), this, type);		else if ( type == "md5" )			return new opensslHashContext( EVP_md5(), this, type);		else if ( type == "hmac(md5)" )			return new opensslHMACContext( EVP_md5(), this, type );		else if ( type == "hmac(sha1)" )			return new opensslHMACContext( EVP_sha1(),this, type );		else if ( type == "hmac(ripemd160)" )			return new opensslHMACContext( EVP_ripemd160(), this, type );		else if ( type == "aes128-ecb" )			return new opensslCipherContext( EVP_aes_128_ecb(), 0, this, type);		else if ( type == "aes128-cfb" )			return new opensslCipherContext( EVP_aes_128_cfb(), 0, this, type);		else if ( type == "aes128-cbc" )			return new opensslCipherContext( EVP_aes_128_cbc(), 0, this, type);		else if ( type == "aes128-cbc-pkcs7" )			return new opensslCipherContext( EVP_aes_128_cbc(), 1, this, type);		else if ( type == "aes128-ofb" )			return new opensslCipherContext( EVP_aes_128_ofb(), 0, this, type);		else if ( type == "aes192-ecb" )			return new opensslCipherContext( EVP_aes_192_ecb(), 0, this, type);		else if ( type == "aes192-cfb" )			return new opensslCipherContext( EVP_aes_192_cfb(), 0, this, type);		else if ( type == "aes192-cbc" )			return new opensslCipherContext( EVP_aes_192_cbc(), 0, this, type);		else if ( type == "aes192-ofb" )			return new opensslCipherContext( EVP_aes_192_ofb(), 0, this, type);		else if ( type == "aes256-ecb" )			return new opensslCipherContext( EVP_aes_256_ecb(), 0, this, type);		else if ( type == "aes256-cfb" )			return new opensslCipherContext( EVP_aes_256_cfb(), 0, this, type);		else if ( type == "aes256-cbc" )			return new opensslCipherContext( EVP_aes_256_cbc(), 0, this, type);		else if ( type == "aes256-ofb" )			return new opensslCipherContext( EVP_aes_256_ofb(), 0, this, type);		else if ( type == "blowfish-ecb" )			return new opensslCipherContext( EVP_bf_ecb(), 0, this, type);		else if ( type == "blowfish-cfb" )			return new opensslCipherContext( EVP_bf_cfb(), 0, this, type);		else if ( type == "blowfish-ofb" )			return new opensslCipherContext( EVP_bf_ofb(), 0, this, type);		else if ( type == "blowfish-cbc" )			return new opensslCipherContext( EVP_bf_cbc(), 0, this, type);		else if ( type == "blowfish-cbc-pkcs7" )			return new opensslCipherContext( EVP_bf_cbc(), 1, this, type);		else if ( type == "tripledes-ecb" )			return new opensslCipherContext( EVP_des_ede3(), 0, this, type);		else if ( type == "des-ecb" )			return new opensslCipherContext( EVP_des_ecb(), 0, this, type);		else if ( type == "des-ecb-pkcs7" )			return new opensslCipherContext( EVP_des_ecb(), 1, this, type);		else if ( type == "des-cbc" )			return new opensslCipherContext( EVP_des_cbc(), 0, this, type);		else if ( type == "des-cbc-pkcs7" )			return new opensslCipherContext( EVP_des_cbc(), 1, this, type);		else if ( type == "des-cfb" )			return new opensslCipherContext( EVP_des_cfb(), 0, this, type);		else if ( type == "des-ofb" )			return new opensslCipherContext( EVP_des_ofb(), 0, this, type);		else if ( type == "pkey" )			return new MyPKeyContext( this );		else if ( type == "dlgroup" )			return new MyDLGroup( this );		else if ( type == "rsa" )			return new RSAKey( this );		else if ( type == "dsa" )			return new DSAKey( this );		else if ( type == "dh" )			return new DHKey( this );		else if ( type == "cert" )			return new MyCertContext( this );		else if ( type == "csr" )			return new MyCSRContext( this );		else if ( type == "crl" )			return new MyCRLContext( this );		//else if ( type == "store" )		//	return new MyStoreContext( this );		return 0;	}