- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我非常熟悉 java keytool 命令,但我似乎不知道如何生成 OAEP 填充的 RSA 证书。我正在尝试生成一个来保护 SAML channel 。我感觉我误解了指定填充方法的工作原理。
理想情况下,我最终会得到一个使用 RSA SHA256 签名、使用 AES256 加密的 channel ,并且 key 传输算法具有 OAEP 填充。
作为一个附带问题,这可以与 opensaml 实现一起使用吗?我不明白为什么不这样做,因为它只是一个有效的 X509 证书。
keytool -genkey -alias myalias -keyalg RSA -keysize 512 -sigalg SHA256withRSA -keystore sample.jks -dname "CN=C, O=O, L=L, ST=S, C=US" -storepass changeit
最佳答案
OAEP 填充将应用于您的密文,而不是您的证书。
您的证书应使用 keytool 参数中的 SHA256。但我认为您的 SAML DSig 参数将需要 SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256
修改 OpenSaml 示例 here我认为您可以更改加密参数以使用 AES256 和 RSAOAEP:
Assertion assertion = createAssertion();
// Assume this contains a recipient's RSA public key
Credential keyEncryptionCredential = getKEKCredential();
EncryptionParameters encParams = new EncryptionParameters();
encParams.setAlgorithm(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256);
KeyEncryptionParameters kekParams = new KeyEncryptionParameters();
kekParams.setEncryptionCredential(keyEncryptionCredential);
kekParams.setAlgorithm(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP);
KeyInfoGeneratorFactory kigf =
Configuration.getGlobalSecurityConfiguration()
.getKeyInfoGeneratorManager().getDefaultManager()
.getFactory(keyEncryptionCredential);
kekParams.setKeyInfoGenerator(kigf.newInstance());
Encrypter samlEncrypter = new Encrypter(encParams, kekParams);
samlEncrypter.setKeyPlacement(KeyPlacement.PEER);
关于java - 如何使用 KeyTool 创建带有 RSA-OAEP (opensaml) 的 CSR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972379/
很简单的问题。 RSA-OAEP 和 RSAES-OAEP 之间有什么区别? 一样吗??? 我可以使用 RSAES-OAEP 算法从加密数据中使用 RSA-OAEP 函数解密吗 最佳答案 是的。 他们
在深入了解细节之前,我要完成的高级任务是用 JavaScript 加密一些数据,将其发送到 Web 服务器,然后用 C# 解密加密的数据。我遇到问题的部分是用 C# 解密数据。 我正在像这样用 Jav
这个问题在这里已经有了答案: RSA Encryption Problem [Size of payload data] (2 个答案) 关闭 6 年前。 我正在尝试使用 SubtleCrypto
使用 RSACryptoServiceProvider.Decrypt 解密文本时,出现错误: Error occurred while decoding OAEP padding. 这是我的代码:
我目前正在研究一个类,该类使用 RSACryptoServiceProvider 执行主 key 加密和解密操作,使用智能卡的 X509 证书加密随机生成的加密 key 来加密大量文本。但是,当我将
我使用以下命令生成了对称 openssl rand 32 > test.key 它是使用我的公钥加密的,如下命令所示。它使用OAEP填充模式。 openssl pkeyutl -pkeyopt rsa
从我的观察可以看出,苹果安全框架中SecKeyEncrypt方法的各种填充值不支持SHA512哈希摘要的OAEP填充。实际上,我似乎无法确定SecKeyEncrypt方法是否在CBC过程中对每个块进行
我正在尝试使用描述为 here 的导出 key 来访问公钥。 。我有以下代码: window.crypto.subtle.generateKey( {
我正在使用 Web Crypto,更具体地说是这些示例:https://github.com/diafygi/webcrypto-examples/#rsa-oaep 我的主要目标是用我的公钥加密一个
我正在生成一个许可证 key 负载,该负载使用私钥通过 RSA 加密,然后使用公钥对其进行解密,以便在我面向用户的软件中使用许可证负载。我正在加密而不是签名,所以我只需要向我的用户提供一个字符串,而不
我在 phpseclib 中使用 Cipher.getInstance("RSA/ECB/OAEPWITHSHA-512ANDMGF1PADDING") 和 setEncryptionMode(CRY
我无法使用加密模块解密使用 RSA OAEP sha512 加密的字符串。它给了我 oaep 解码错误。 我正在使用 NodeJS 和加密模块,我已经尝试使用这些 key 加密和解密示例文本,但我无法
我正在尝试使用 Java 实现 RSA-OAEP 加密。我知道这需要一个默认为空字符串的标签。如何更改标签的值并使用内置类提供我选择的值? 最佳答案 正如我在评论中建议的,您需要使用 PSource.
我有一个带有私钥的证书存储在 Windows 证书库中。如何使用此 key 解密使用 OAEP 填充的消息?我可以使用 BouncycaSTLe 提供程序和 pfx 文件(PKCS12 keystor
我有以下代码来测试 WebCrypto API。它适用于 Firefox 和 Chrome,我正在尝试使其适用于 Safari。 function ab2str(buf) { retur
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我正在 Java/Android 中实现加密代码以匹配 iOS 加密。在 iOS 中,使用以下填充方案使用 RSA 进行加密:PKCS1-OAEP 但是,当我尝试使用 PKCS1-OAEP 创建密码时
我正在使用 OpenSSL 来加密和解密 CMS_envolped 数据的有效负载,但我想使用带有 OAEP 填充(而不是 PKCS 1.5 填充)的 AES256 密码。当我使用 PKCS1.5 填
我正在尝试调试一个简单的 openssl 程序,但无法完全理解 openssl 对“oaep 解码错误”的含义。我已经将我的程序缩减为这个,测试,一个: #include #include #in
Android客户端加密报文,java代码 Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING"); b
我是一名优秀的程序员,十分优秀!