Jak używać kodowania BER za pomocą obiektu System.DirectoryServices.Protocols.BerConverter.Encode („???”, myData)

Muszę kodować i dekodować dane BER. .NET ma klasęSystem.DirectoryServices.Protocols.BerConverter

Metoda statyczna wymaga od mnie wprowadzenia ciągu w pierwszym parametrze, jak pokazano poniżej

        byte[] oid = { 0x30, 0xD, 0x6, 0x9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0xD, 0x1, 0x1, 0x1, 0x5, 0x0 }; // Object ID for RSA

        var result2 = System.DirectoryServices.Protocols.BerConverter.Decoding("?what goes here?", oid);

Kodowanie BER jest używane w LDAP, certyfikatach i jest powszechne w wielu innych formatach.

Będę zadowolony z informacji mówiących mi, jak kodować lub dekodować w tej klasie. Nie ma nic na temat przepełnienia stosu ani pierwszych kilku stron Google (lub Bing) w tym zakresie.

Pytanie

Jak przekonwertować powyższą tablicę bajtów na odpowiedni OID przy użyciu dekodowania BER?

Jak mogę przeanalizować (lub spróbować przeanalizować) dane ASN.1 SubjectPublicKeyInfo w formacie DER lub BER?

Wygląda na to, że klasy dekodowania DER są wewnętrzne w środowisku .NET. Jeśli tak, gdzie oni są? (Chciałbym zapytać connect.microsoft.com, aby upublicznić tych członków)

questionAnswers(1)

yourAnswerToTheQuestion