public static void DecodeAuthHost(LexReader LexReader) { List<AuthorizedKey> Result = new List<AuthorizedKey>(); try { var Lexer = new AuthKeysFileLex(LexReader); var Token = Lexer.GetToken(); while (Token == AuthKeysFileLex.Token.Data) { var TaggedData = Lexer.GetTaggedData(); Result.Add(TaggedData); Token = Lexer.GetToken(); } } catch (System.Exception Inner) { throw new ParseError(LexReader, Inner); } }
public static KeyPair DecodePEM (LexReader LexReader) { var Lexer = new KeyFileLex(LexReader); var Token = Lexer.GetToken(); if (Token == KeyFileLex.Token.Data) { var TaggedData = Lexer.GetTaggedData(); if (!TaggedData.Strict) { Console.WriteLine("Some yukky data here"); } if (TaggedData.Tag == " RSA PRIVATE KEY") { return DecodeRSAKeyPair(TaggedData.Data); } } return null; }
/// <summary> /// Create and initialize a lexical analyzer. /// </summary> /// <param name="Reader">The input source.</param> public KeyFileLex(LexReader Reader) : base (Reader) { }
/// <summary> /// Create an instance of the exception. /// </summary> /// <param name="Object">User data</param> /// <param name="Inner">Inner Exception</param> public ParseError (LexReader Object, System.Exception Inner) : base (String.Format ("The file {0} could not be read", Object.FilePath ), Inner) { UserData = Object; }
/// <summary> /// Create an instance of the exception. /// </summary> /// <param name="Object">User data</param> /// <param name="Inner">Inner Exception</param> public ParseError (LexReader Object) : base (String.Format ("The file {0} could not be read", Object.FilePath )) { UserData = Object; }
/// <summary> /// Create and initialize a lexical analyzer. /// </summary> /// <param name="Reader">The input source.</param> public AuthKeysFileLex(LexReader Reader) : base (Reader) { }
public static KeyPair DecodePEMText(string Text) { var Reader = new System.IO.StringReader(Text); LexReader LexReader = new LexReader(Reader); return DecodePEM(LexReader); }
public static KeyPair DecodePEM(string FileName) { using (var TextReader = FileName.OpenFileReadShared()) { LexReader LexReader = new LexReader(TextReader); return DecodePEM(LexReader); } }
/// <summary> /// Decode SSH Authorized Key file format /// </summary> /// <param name="FileName">File to decode.</param> public static void DecodeAuthHost(string FileName) { using (var TextReader = FileName.OpenFileReadShared()) { LexReader LexReader = new LexReader(TextReader); DecodeAuthHost(LexReader); } }