Я генерирую ключ DSA с помощью следующей команды:
ssh-keygen -t dsa
Затем я пытаюсь подписать данные, используя API-интерфейс bouncycastle:
KeyFactory keyFactory = KeyFactory.getInstance("DSA");
String privateKeyContent = // the content of the generated file
//init privateKey
byte[] pemContent = null;
PEMParser pemParser = new PEMParser(new StringReader(privateKeyContent));
Object pemObject = pemParser.readObject(); // throws
И получаю это исключение
java.io.IOException: нераспознанный объект: OPENSSH PRIVATE KEY
Итак, я пытался преобразовать файл ключа в PEM, используя этот пример и выполняя:
ssh-keygen -e -f key -m PEM > key.pem
Но я получаю сообщение об ошибке:
do_convert_to_pem: unsupported key type DSA
Есть идеи, как это решить?