oracle - 如何使用 RSA-SH512(或 RSA-SH256)和 Oracle PL/SQL 中签名证书的私钥对字符串进行签名?
问题描述
在 Oracle pl/sql 中,我需要使用带有证书私钥的 RSA-SHA512 或 RSA-SHA256 对字符串进行签名(这是 Web 服务的要求)。
我发现带有参数 src 、 typ 和密钥 src 的 DBMS_CRYPTO.ENCRYPT 函数将等于字符串(转换为原始)密钥将是我的证书的私钥(转换为原始)。
但是在 RSA-SHA512 或 RSA-SHA256 中加密的 key 参数的值应该是多少?可能的值例如 dbms_crypto.encrypt_aes 和 dbms_crypto.encrypt_aes256 但我没有看到像 RSA-SHA 这样的值。
DBMS_CRYPTO 是否可以做到这一点,或者 pl/sql 中是否有其他可用选项?
解决方案
您可以通过编写具有此功能的 Java 类并将其加载到 oracle 数据库中来实现此目的。然后创建一个调用 java 方法的 plsql 包。
听起来很复杂,但实际上并不难,而且效果很好,因为这可以通过 JDK 内部来完成。
推荐阅读
- elasticsearch - 在 Elastic Search 中查询特定列表索引
- batch-file - 单个 .bat 文件中的多个批处理文件定义
- javascript - 设置 PHP 数组以使用从 Json 对象创建的下拉列表
- batch-file - 批处理命令不读取名称中带有撇号的文件
- r - 如何根据R中的日期和时间计算移动平均值
- r - 绘制 Y(国家)对 X(年)显示 24 个国家的 GDP 同比增长(折线图)
- linux-device-driver - 同一总线上 2 个 i2c 设备的 Linux 设备树
- python - 在python中提交Kattis问题时出现运行时错误:我能猜到数据结构
- r - R - 为回归线添加图例到 ggplot 图
- python - __str__ 返回一个巨大的字符串而不是单个值。Python 新手