public function testAddCertificate() { $sc = $this->createServiceConfiguration(); $certificate = RemoteDesktopCertificate::generate(); $sc->addCertificate('Sf2.Web', $certificate); $this->assertContains('<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption"', $sc->getXml()); }
public function testGenerate() { $certificate = RemoteDesktopCertificate::generate(); $x509File = $certificate->export(sys_get_temp_dir(), "azure_test", "test1234", true); $thumbprint = $certificate->getThumbprint(); $encryptedPassword = $certificate->encryptAccountPassword($x509File, "1234test"); $this->assertEquals(40, strlen($thumbprint), "SHA1 Key"); $this->assertTrue(strlen($encryptedPassword) > 0); }
public function generateRemoteDesktopKey($roleName, $desktopPassword, $keyPassword, $overwrite = false) { $certificate = RemoteDesktopCertificate::generate(); $x509File = $certificate->export($this->configDir, $roleName, $keyPassword, $overwrite); $serviceDefinition = $this->getServiceDefinition(); $serviceDefinition->addImport("RemoteAccess"); $serviceDefinition->addImport("RemoteForwarder"); $expirationDate = new DateTime("+365 day"); $serviceConfiguration = $this->getServiceConfiguration(); $serviceConfiguration->setConfigurationSetting($roleName, 'Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled', 'true'); $serviceConfiguration->setConfigurationSetting($roleName, 'Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername', get_current_user()); $serviceConfiguration->setConfigurationSetting($roleName, 'Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword', $certificate->encryptAccountPassword($x509File, $desktopPassword)); $serviceConfiguration->setConfigurationSetting($roleName, 'Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration', $expirationDate->format('c')); $serviceConfiguration->setConfigurationSetting($roleName, 'Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled', 'true'); $serviceConfiguration->addCertificate($roleName, $certificate); }