Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I'm having some trouble creating Asn1 object with bouncy castle. I've generated an unused key with try to illustrate what I'm doing.

-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

My program snippet has access to the bits between BEGIN and END (basically, above snippet without first and last line).

My code snippet looks something like this (copied from online tutorials) with the input privateKey being a multiline string (snippet above without first and last line, includes /r/n but I've tried removing the newlines).

byte[] keyBytes = Convert.FromBase64String(privateKey);
var privKeyObj = Asn1Object.FromByteArray(keyBytes);
var privStruct = RsaPrivateKeyStructure.GetInstance((Asn1Sequence)privKeyObj);

I'm getting [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: extra data found after object. Does my input need to be further sanitized? I'm hoping to be able to create a private key to use to sign a JWT.

That openssh format is not based on ASN.1. It has nothing to do with ASN.1. Although a key is a key, that particular format is specific to, you guessed it, SSH. – President James K. Polk-Strike Sep 3, 2020 at 3:48

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.