在Oracle pl/sql中,我需要使用RSA-SHA512或RSA-SHA256和证书的私钥对字符串进行签名(这是key服务的要求)。
我发现带有参数src、typ和key src的DBMS_CRYPTO.ENCRYPT函数将等于字符串(转换为raw)密钥将是我的证书的私钥(转换为raw)。
但是,在RSA-SHA512或RSA-SHA256中要加密的密钥参数的值应该是什么?例如,可能的值是dbms_crypto.encrypt_aes和dbms_crypto.encrypt_aes256,但我没有看到任何类似于RSA-SHA的值。
对于DBMS_CRYPTO,这是可能的吗?或者在pl/sql中是否有其他可用的选项?
发布于 2020-08-15 19:51:57
PL/SQL本身并不执行数字签名。您需要一个像DBSign这样的商业包才能获得该功能。
发布于 2021-10-05 13:18:36
您可以通过编写具有此功能的Java类并将其加载到oracle数据库中来完成此操作。然后创建一个调用java方法的plsql包。
这听起来很复杂,但实际上并不是很难,而且工作得很好,因为这可以通过JDK内部实现。
https://stackoverflow.com/questions/63412285
复制相似问题