Using the BouncyCastle library (although I guess the library is sort of irrelevant) I often run into algorithm IDs specified as ASN.1 identifiers. For example, the signature algorithm for a certificate might be "1.2.840.113549.1.1.11"
.
Is there a proper way to convert this into some kind of human-readable form that doesn't involve finding every ID I can get my hands on and manually building a gigantic lookup table?
There is IMHO no other way than building a mapping table. Every crypto library does that, ie. Openssl, .NET framework, BouncyCastle etc.
The problem is, that every library could (and often does) have different
FriendlyName
assigned to the same OID. For example Openssl hasemailAddress
while .NET translates it asE
.BouncyCastle has this mapping table implemented (sorry for the c# version link) here (and maybe in other places).