作为一个附带问题,这是否适用于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示例,我认为您可以使用以下方法更改加密参数以使用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);
问题内容: 我已经看过4个(是,四个)教程,但仍然不知道如何使它工作。 在我的Glassfish 4.1.1服务器中设置为HTTPS配置的第二个HTTP侦听器之后,我尝试创建证书,因此在浏览器中没有出现安全错误。问题是,我只是无法使keytool正常工作;无论我做什么,它都会弄乱并抛出奇怪的错误。例如,它找不到许多指南推荐的某些命令。 我可以猜测该工具在Java 8或其他版本中发生了变化,我真的不
我已经看了4个(是的,四个)教程,仍然不知道如何使这工作。 编辑:说真的,我正因此陷入困境。我只是什么都不能做:cacerts密码不是典型的“changeit”,我不能在密钥库之外获取密钥,因此我不能用证书做任何事情。
问题内容: 有人可以向我解释为什么解密密钥时此代码会出现在最后一行吗? 来自OAEP的RSA的http://codingdict.com/questions/131368中的以下声明也适用吗? 实际上,“ RSA / ECB / PKCS1Padding”未实现ECB模式加密。它应该被称为“ RSA / None / PKCS1Padding”,因为它只能用于加密单个明文块(或者实际上是一个秘密密
我使用的是Web加密,更具体地说,这些示例是:https://github.com/diafygi/webcrypto-examples/#rsa-oaep 更新
我正在寻找使用“Nimbus JOSE JWT”库开发具有RSA加密的JWT应用程序。我正在寻找示例代码。 我想使用以下Maven依赖项: 注意:请始终使用Maven Central repository的最新版本。
我试图用JavaScript加密一个短字符串,用Java解密它。解密失败,我认为这是因为两个平台之间的块模式和/或填充不同。我尝试在Java和JavaScript中加密相同的字符串,结果不同,这表明确实存在差异。以下是创建键的Java代码: 这是我用来测试加密的Java代码: 我将公钥发送到JavaScript进程,并将其转换为ArrayBuffer,变量名为publicKey。我已经验证了Jav