Чтение Приватного ключа из файла .pfx с помощью Bouncy Castle - получение java.lang.VerifyError - PullRequest
0 голосов
/ 27 сентября 2018

Поскольку я читаю закрытый ключ из файла .pfx, чтобы подписать строку, где я должен использовать BouncyCastleProvider для провайдера безопасности.

Место выброса ошибки:
KeyStore.getInstance ("PKCS12", новый BouncyCastleProvider (). GetName ())

Фрагмент кода:

        String message = jsonString;
        String password = "XXXX";
        Security.addProvider(new BouncyCastleProvider());
        logger.severe("message : " + message);
        File pfxFile = new file("/XXXX/XXXX/XXXX.pfx");
        KeyStore keyStore = KeyStore.getInstance("PKCS12", new BouncyCastleProvider().getName()); //here getting error
        logger.severe("keyStore : " + keyStore);
        keyStore.load(new FileInputStream(pfxFile), password.toCharArray());
        String alias = (String) keyStore.aliases().nextElement();
        PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, password.toCharArray());
        Signature privateSignature = Signature.getInstance("SHA256withRSA");
        privateSignature.initSign(privateKey);
        privateSignature.update(message.getBytes("UTF-8"));
        byte[] signature2 = privateSignature.sign();
        String smsgContent = SHA256SignerUtil.encodeBase64String(signature2);

Фрагмент ошибки:

Caused by: java.lang.VerifyError: (class: org/bouncycastle/jce/provider/JDKPKCS12KeyStore, method: engineLoad, signature: (Ljava/io/InputStream;[C)V, offset: 1278) Incompatible object argument org/bouncycastle/asn1/DERSet for function call, expecting org/bouncycastle/asn1/DERConstructedSet
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...