Store ssh key passphrase in Keychain

This commit is contained in:
Evgeny Morozov 2017-02-23 17:34:55 +03:00
parent 04ceeb87dc
commit de6183764b
4 changed files with 8 additions and 7 deletions

View file

@ -77,13 +77,14 @@ struct GitCredential {
newPassword = passwordNotSetCallback!()
}
// Save password for the future
Utils.addPasswrodToKeychain(name: "gitRepositorySSHPrivateKeyPassphrase", password: newPassword!)
// nil is expected in case of empty password
if newPassword == "" {
newPassword = nil
}
// Save password for the future
Defaults[.gitRepositorySSHPrivateKeyPassphrase] = newPassword
credential = try? GTCredential(userName: userName, publicKeyURL: publicKeyFile, privateKeyURL: privateKeyFile, passphrase: newPassword)
}
@ -141,7 +142,7 @@ class PasswordStore {
gitCredential = GitCredential(
credential: GitCredential.Credential.ssh(
userName: Defaults[.gitRepositoryUsername]!,
password: Defaults[.gitRepositorySSHPrivateKeyPassphrase]!,
password: Utils.getPasswordFromKeychain(name: "gitRepositorySSHPrivateKeyPassphrase")!,
publicKeyFile: Globals.sshPublicKeyURL,
privateKeyFile: Globals.sshPrivateKeyURL,
passwordNotSetCallback: nil