шифрование простого текста с использованием RSA-OAEP-256 в качестве алгоритма и шифрование с использованием A256CBC-HS512 - PullRequest
0 голосов
/ 25 сентября 2018

Я использую библиотеку jose.4.j для шифрования пароля с использованием JWE с алгоритмом RSA-OAEP-256 и методом шифрования A256CBC-HS512.Существует открытый ключ, который используется для шифрования сертификата.

 JsonWebEncryption jwe = new JsonWebEncryption();
         jwe.setPayload("Hello World!");
         jwe.setAlgorithmHeaderValue(KeyManagementAlgorithmIdentifiers.RSA_OAEP_256);
         jwe.setEncryptionMethodHeaderParameter(ContentEncryptionAlgorithmIdentifiers.AES_256_CBC_HMAC_SHA_512);

         FileInputStream fin = new FileInputStream("C:/xxx.cer");
         CertificateFactory f = CertificateFactory.getInstance("X.509");
         X509Certificate certificate = (X509Certificate)f.generateCertificate(fin);
         RSAPublicKey pk = (RSAPublicKey) certificate.getPublicKey();
         jwe.setKey(pk);
         //jwe.setCertificateChainHeaderValue(certificate);
         String serializedJwe = jwe.getCompactSerialization();
         System.out.println("Serialized Encrypted JWE: " + serializedJwe);

Я получаю следующую ошибку, хотя

RSA-OAEP-256 is an unknown, unsupported or unavailable alg algorithm (not one of [RSA1_5, RSA-OAEP, dir, A128KW, A192KW, A256KW, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW, PBES2-HS256+A128KW, PBES2-HS384+A192KW, PBES2-HS512+A256KW]).
...