Como obter o objeto java.security.PrivateKey do arquivo RSA Privatekey.pem?

Tenho um arquivo de chave privada RSA (OCkey.pem). Usando java eu tenho que obter a chave privada deste arquivo. essa chave é gerada usando o comando openssl abaixo. Nota: Não posso alterar nada neste comando openssl abaix

openssl> req -newkey rsa:1024 -sha1 -keyout OCkey.pem -out OCreq.pem -subj "/C=country/L=city/O=OC/OU=myLab/CN=OCserverName/" -config req.conf

O certificado é exibido abaixo.

/////////////////////////////////////////////////// //////////
bash-3.00 $ menos OCkey.pem
----- COMEÇA A CHAVE PRIVADA DA RSA -----
Tipo Proc: 4, CRIPTOGADO
DEK-Info: DES-EDE3-CBC, EA1DBF8D142621BF




BYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- TERMINAR CHAVE PRIVADA RSA -----
/////////////////////////////////////////////////// /////////////





A seguir é o que eu tentei

byte[] privKeyBytes = new byte[(int)new File("C:/OCkey.pem").length()]; 
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(privKeyBytes));

mas obtendo

"java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: formato de chave inválido"

Por favor ajude