我有一个C ++应用程序,它有自己的例程来发送和接收数据。我想使用OpenSSL对部分数据应用AES加密。不幸的是,我无法像大多数示例那样将整个连接移交给OpenSSL,我甚至无法为OpenSSL提供读取数据的套接字。
我想将数据作为内存缓冲区传入和传出,我也将密钥单独传输。有没有人举例说明如何使用OpenSSL API?
我已经看到了代替OpenSSL的内部指针和结构的代码,但依赖于某个OpenSSL版本,我非常想避免这种情况。
答案 0 :(得分:1)
我认为你应该看看cryptlib http://www.cs.auckland.ac.nz/~pgut001/cryptlib/
以下是cryptlib网站上示例链接的摘录:
CRYPT_SESSION cryptSession;
/* Create the session */
cryptCreateSession( &cryptSession, cryptUser, CRYPT_SESSION_SSL_SERVER );
/* Add the server key/certificate and activate the session */
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_PRIVATEKEY, privateKey );
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_ACTIVE, 1 );
看起来很简单,但对我来说,花了一些时间(并且仍然需要一些时间)来学习如何使用cryptlib完成我想要的东西。我认为它会解决你的问题!源代码可用,DLL有一个C API。试试看。 (听起来像商业广告,但除了作为用户之外,我与cryptlib没有关系。)
答案 1 :(得分:1)
我认为你实际上想要使用加密库,它是OpenSSL的一部分。以下是如何使用它的示例: