Java: преобразование закрытого ключа DKIM из RSA в DER для JavaMail

я используюDKIM для JavaMail подписать исходящую почту с DKIM.
Мой личный ключ DKIM генерируется сopendkim-genkey -s default -d example.com и выглядит так:

-----BEGIN RSA PRIVATE KEY-----
ABCCXQ...[long string]...SdQaZw9
-----END RSA PRIVATE KEY-----

Библиотеке DKIM для JavaMail необходим закрытый ключ DKIM в формате DER, как указано в их файле readme:

DKIM для JavaMail нужен закрытый ключ в формате DER, вы можете преобразовать ключ PEM с помощью openssl:

openssl pkcs8 -topk8 -nocrypt -in private.key.pem -out private.key.der -outform der

Я ищу способ избежать использования openssl для преобразования моего ключа в формат DER. Вместо этого я хотел бы сделать преобразование в Java напрямую.
Я пробовал разные предложения(1, 2, 3) но пока ничего не получалось.
DKIM для Java обрабатывает файл DER следующим образом:

    File privKeyFile = new File(privkeyFilename);

    // read private key DER file
    DataInputStream dis = new DataInputStream(new FileInputStream(privKeyFile));
    byte[] privKeyBytes = new byte[(int) privKeyFile.length()];
    dis.read(privKeyBytes);
    dis.close();

    KeyFactory keyFactory = KeyFactory.getInstance("RSA");

    // decode private key
    PKCS8EncodedKeySpec privSpec = new PKCS8EncodedKeySpec(privKeyBytes);
    RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(privSpec);

Итак, в конце концов мне нужноRSAPrivateKey.

Как я могу легко сгенерировать этоRSAPrivateKey что DKIM для JavaMail требует от моего закрытого ключа RSA?

Ответы на вопрос(2)

Ваш ответ на вопрос