private void FormSelectUCOSHost_Closed(object sender, EventArgs e) { if (myUCSHostCfg.sUCOSHost.Length > 0 && myUCSHostCfg.sUCOSRemoteUser.Length > 0 && myUCSHostCfg.sUCOSPassphrase.Length > 0) { // Decode passphrase to password RemoteSupportPassphrase oReportSupportPassphrase = new RemoteSupportPassphrase(); String sUserPassword = oReportSupportPassphrase.Decode(myUCSHostCfg.sUCOSPassphrase); if (!oReportSupportPassphrase.Successful) { // Could not decode passphrase; abort MessageBox.Show("Could not decode passphrase: [" + myUCSHostCfg.sUCOSPassphrase + "]"); return; }; // Let's try to open the security files UCOSClientSSH testClient = new UCOSClientSSH(myUCSHostCfg.sUCOSHost, myUCSHostCfg.sUCOSRemoteUser, sUserPassword); /* try { testClient.Validate(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } */ try { Dictionary<string, byte[]> filePack = testClient.GetSecurityFilePack(); // Set the directory, file and display tags DRSD.sBackupSetDirectory = @"/usr/local/platform/conf"; DRSD.sBackupSetXMLFilename = "platformConfig.xml"; DRSD.sDisplayFilePath = myUCSHostCfg.sUCOSHost + ":" + DRSD.sBackupSetDirectory + "/" + DRSD.sBackupSetXMLFilename; byte[] bPlatformConfig = filePack[DRSD.sBackupSetDirectory + "/" + DRSD.sBackupSetXMLFilename]; byte[] bDKey = new byte[0]; if (filePack.ContainsKey(@"/usr/local/platform/.security/CCMEncryption/keys/dkey.txt")) { bDKey = filePack[@"/usr/local/platform/.security/CCMEncryption/keys/dkey.txt"]; } ADHDTech.CiscoCrypt.platformConfigXML.PlatformData oPlatformConfig = ADHDTech.CiscoCrypt.Functions.LoadPlatformConfigBytes(bPlatformConfig); DisplayPlatformConfig(oPlatformConfig, Functions.encoding.GetString(bDKey)); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
private void SelectPlatformConfigFile() { DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK) // Test result. { // Set the directory, file and display tags DRSD.sBackupSetDirectory = Path.GetDirectoryName(openFileDialog1.FileName); DRSD.sBackupSetXMLFilename = Path.GetFileName(openFileDialog1.FileName); DRSD.sDisplayFilePath = DRSD.sBackupSetDirectory + "\\" + DRSD.sBackupSetXMLFilename; ADHDTech.CiscoCrypt.platformConfigXML.PlatformData oPlatformConfig = ADHDTech.CiscoCrypt.Functions.LoadPlatformConfigFile(openFileDialog1.FileName); DisplayPlatformConfig(oPlatformConfig, null); /* DRSD.sUCVersion = oPlatformConfig.Version; DRSD.sUCProduct = oPlatformConfig.ProductDeployment.First().ParamValue; DRSD.sLocalHostName = oPlatformConfig.LocalHostName.First().ParamValue; DRSD.sLocalHostIP0 = oPlatformConfig.LocalHostIP0.First().ParamValue; DRSD.sLocalHostAdminName = oPlatformConfig.LocalHostAdminName.First().ParamValue; DRSD.sLocalHostAdminPwCrypt = oPlatformConfig.LocalHostAdminPwCrypt.First().ParamValue; DRSD.sSftpPwCrypt = oPlatformConfig.SftpPwCrypt.First().ParamValue; DRSD.sIPSecSecurityPwCrypt = oPlatformConfig.SftpPwCrypt.First().ParamValue; DRSD.sApplUserUsername = oPlatformConfig.ApplUserUsername.First().ParamValue; DRSD.sApplUserPwCrypt = oPlatformConfig.ApplUserPwCrypt.First().ParamValue; //textBox2.ReadOnly = false; DRSD.sBackupSetDirectory = Path.GetDirectoryName(openFileDialog1.FileName); DRSD.sBackupSetXMLFilename = Path.GetFileName(openFileDialog1.FileName); textBox3.Text = DRSD.sBackupSetDirectory + "\\" + DRSD.sBackupSetXMLFilename; ADHDTech.CiscoCrypt.PlatformConfigPassword oPlatformConfigDecrypter = new ADHDTech.CiscoCrypt.PlatformConfigPassword(); textBox_UCVersion.Text = DRSD.sUCVersion; textBox_UCProduct.Text = DRSD.sUCProduct; textBox_LocalAdminName.Text = DRSD.sLocalHostAdminName; textBox_LocalAdminPass.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sLocalHostAdminPwCrypt); //textBox_LocalAdminPass.Text = ADHDTech.CiscoCrypt.Functions.DecryptCCMPlatformValue(DRSD.sLocalHostAdminPwCrypt, "49c8182574a74ca2ddc4358024e98b6e02edfb5a54e3453b7a8e3db5a697bb19"); textBox_SFTPPass.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sSftpPwCrypt); textBox_ClusterSecurity.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sIPSecSecurityPwCrypt); textBox_AppUserName.Text = DRSD.sApplUserUsername; textBox_AppUserPass.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sApplUserPwCrypt); */ } }
private void DisplayPlatformConfig(ADHDTech.CiscoCrypt.platformConfigXML.PlatformData oPlatformConfig, string sDKey) { DRSD.sUCVersion = oPlatformConfig.Version; DRSD.sUCProduct = oPlatformConfig.ProductDeployment.First().ParamValue; DRSD.sLocalHostName = oPlatformConfig.LocalHostName.First().ParamValue; DRSD.sLocalHostIP0 = oPlatformConfig.LocalHostIP0.First().ParamValue; DRSD.sLocalHostAdminName = oPlatformConfig.LocalHostAdminName.First().ParamValue; DRSD.sLocalHostAdminPwCrypt = oPlatformConfig.LocalHostAdminPwCrypt.First().ParamValue; DRSD.sSftpPwCrypt = oPlatformConfig.SftpPwCrypt.First().ParamValue; DRSD.sIPSecSecurityPwCrypt = oPlatformConfig.SftpPwCrypt.First().ParamValue; DRSD.sApplUserUsername = oPlatformConfig.ApplUserUsername.First().ParamValue; DRSD.sApplUserPwCrypt = oPlatformConfig.ApplUserPwCrypt.First().ParamValue; ADHDTech.CiscoCrypt.PlatformConfigPassword oPlatformConfigDecrypter = new ADHDTech.CiscoCrypt.PlatformConfigPassword(); textBox_XMLFilePath.Text = DRSD.sDisplayFilePath; textBox_UCVersion.Text = DRSD.sUCVersion; textBox_UCProduct.Text = DRSD.sUCProduct; textBox_LocalAdminName.Text = DRSD.sLocalHostAdminName; // In 12, the LocalHostAdminCrypt switched from static DES to AES256 w/ DKEY string sDecryptedAdminPw = "<Need dKey>"; string sTmpPw = oPlatformConfigDecrypter.Decrypt(DRSD.sLocalHostAdminPwCrypt); if (oPlatformConfigDecrypter.Successful) { sDecryptedAdminPw = sTmpPw; } else if (! String.IsNullOrEmpty(sDKey)) { // Let's try the dKey instead sTmpPw = Functions.DecryptCCMPlatformValue(DRSD.sLocalHostAdminPwCrypt, sDKey.Substring(0, 32), true); if (sTmpPw.Length > 0) { sDecryptedAdminPw = sTmpPw; } } textBox_LocalAdminPass.Text = sDecryptedAdminPw; textBox_SFTPPass.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sSftpPwCrypt); textBox_ClusterSecurity.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sIPSecSecurityPwCrypt); textBox_AppUserName.Text = DRSD.sApplUserUsername; textBox_AppUserPass.Text = oPlatformConfigDecrypter.Decrypt(DRSD.sApplUserPwCrypt); }