private void OpenPemFile() { Stream stream = openFileDialog.OpenFile(); byte[] data = new byte[stream.Length]; stream.Read(data, 0, data.Length); currentFileName = openFileDialog.FileName; currentFileSize = stream.Length; stream.Close(); string dataStr = Asn1Util.BytesToString(data); if (Asn1Util.IsPemFormated(dataStr)) { currentFormat = DataFormat.PEM; pemHeader = Asn1Util.GetPemHeader(dataStr); } else if (Asn1Util.IsHexStr(dataStr)) { currentFormat = DataFormat.HEX; } else { currentFormat = DataFormat.BASE64; } richTextBox.Text = dataStr; SetButtons(); currentFileName = openFileDialog.FileName; ShowFileName(); }
public byte[] ChangeDataFormat(DataFormat dataFormat) { byte[] data = null; dataStr = richTextBox.Text; string msg = ""; try { switch (currentFormat) { case DataFormat.BASE64: msg = "BASE64"; data = Convert.FromBase64String(dataStr); break; case DataFormat.HEX: msg = "Hex"; data = Asn1Util.HexStrToBytes(dataStr); break; case DataFormat.PEM: msg = "PEM"; data = Asn1Util.PemToBytes(dataStr); pemHeader = Asn1Util.GetPemHeader(dataStr); break; } } catch (Exception ex) { MessageBox.Show("Invalid " + msg + " data: " + ex.Message); return(data); } switch (dataFormat) { case DataFormat.BASE64: dataStr = Convert.ToBase64String(data); dataStr = Asn1Util.FormatString(dataStr, base64LineLen, 0); break; case DataFormat.HEX: dataStr = Asn1Util.ToHexString(data); dataStr = Asn1Util.FormatString(dataStr, hexLineLen, 2); break; case DataFormat.PEM: dataStr = Asn1Util.BytesToPem(data, pemHeader); break; } currentFormat = dataFormat; richTextBox.Text = dataStr; SetButtons(); richTextBox.Focus(); return(data); }