Exemplo n.º 1
0
        /// <summary>
        /// Loads the keys file.
        /// </summary>
        /// <param name="fileNameAndPath">The file name and path.</param>
        /// <returns><see cref="RSACryptoServiceProvider"/></returns>
        internal RSACryptoServiceProvider LoadKeysFile(string fileNameAndPath)
        {
            Contract.Requires(string.IsNullOrEmpty(fileNameAndPath) == false);

            string fileData = string.Empty;

            using (StreamReader streamReader = File.OpenText(fileNameAndPath))
            {
                fileData = streamReader.ReadToEnd().Trim();
            }

            IParser parser = null;

            if (fileData.StartsWith("-----BEGIN"))
            {
                parser = ParserFactory.CreatePEMParser(fileData);
            }
            else
            {
                parser = ParserFactory.CreateDERParser(fileNameAndPath);
            }

            return(parser.Rsa);
        }