Security openssl中的安全内存块
OpenSSL中是否有与Crypto++等效的方法 在释放内存之前清除内存的一种方法,包括用敏感信息保护内存块。有没有办法保护内存中的RSA结构 OpenSSL中是否有任何方法与Crypto++的SecByteBlock等效 一个Security openssl中的安全内存块,security,memory,openssl,Security,Memory,Openssl,OpenSSL中是否有与Crypto++等效的方法 在释放内存之前清除内存的一种方法,包括用敏感信息保护内存块。有没有办法保护内存中的RSA结构 OpenSSL中是否有任何方法与Crypto++的SecByteBlock等效 一个SecByteBlock是一个类,它通过将数据与操作相结合来对数据进行操作(大量手动放弃),从而利用OOP。OpenSSL是一个C库,它没有与OOP相关的大部分优点 在OpenSSL中,您将使用OpenSSL\u clean。以下是它在OpenSSL中的一些单行程序用法
SecByteBlock
是一个类,它通过将数据与操作相结合来对数据进行操作(大量手动放弃),从而利用OOP。OpenSSL是一个C库,它没有与OOP相关的大部分优点
在OpenSSL中,您将使用OpenSSL\u clean
。以下是它在OpenSSL中的一些单行程序用法:
$ grep -R cleanse * | grep -v doc
...
apps/apps.c: OPENSSL_cleanse(buff, (unsigned int)bufsiz);
apps/apps.c: OPENSSL_cleanse(buf, (unsigned int)bufsiz);
apps/apps.c: OPENSSL_cleanse(buf, (unsigned int)bufsiz);
apps/ca.c: OPENSSL_cleanse(key, strlen(key));
apps/dgst.c: OPENSSL_cleanse(buf, BUFSIZE);
apps/enc.c: OPENSSL_cleanse(str, SIZE);
apps/enc.c: OPENSSL_cleanse(str, strlen(str));
...
有没有办法保护内存中的RSA结构
RSA\u-free
内部调用OPENSSL\u-clean
。因此,当结构被丢弃时,它被归零。根据RSA_new和RSA_free上的说明:
RSA_free()
释放RSA结构及其组件。在将存储器返回系统之前,钥匙会被擦除
但您可能需要定义“内存中的安全”的需求。如果您的需求包括包装,那么不,OpenSSL不提供包装。但Crypto++也不例外