How Skype "protects" its password in keychain on Mac OS? - macos

When I open skype entry on keychain, and try to set Show Password checkbox, password is not shown, checkbox becomes unchecked.
This behavior described here and here.
If I run
security find-generic-password -ga .token.0
from Terminal App , in line password I see
long 48-digit hexadecimal number and string, like this:
password: 0xAABAAA1AAA4AA5AAAAA6AAA3F6AACAACAAA77AAAAAAAAAAA "\245\241\240...".
If I run this terminal command for any other keychain entry, where I can see password through checking checkbox in Keychain App, it prints readable passowrd on this line.
I tried to get password programmatically using SSKeychain class, and I get nil.
What API/technology Skype uses for such protection of its password?
I want to use this technique in my app to protect my passwords.

Related

Keep asking for the keychain login password

In this Mac is keep asking for the login keychain password, and this happens after I've set the proxies for the wifi.
For this,
Open Keychain application in mac
Then Goto login
Then Delete (option is available after right-click) that IP address or function that is in double-quotes of the prompt.

Continuous Delivery server always asks for a password to the keychain

What can I do to prevent it from asking about password for the keychain when app is build with CI.
If I don't do this, then pipeline will finish with errors.
Should I add ssh private key and then dialog will never appear?
Find apropriate item in keychain items and uncheck Ask for Keychain password.
Remember to Save Changes
And voilla!😀
You can unlock the keychain from command line in your build scripts using:
security unlock-keychain -p password ~/Library/Keychains/login.keychain-db

I forgot my Macbook's admin name and password and my user account is changed to standard, how can I change it?

I tried everything using terminal still can't get anything I can't change it using user setting as it demands the password and admin name I used keychain but still didn't get it
Boot up your Mac and hold CMD + R
which will boot into Recovery Mode.
Go to Utilities and open Terminal. Type in the following:
resetpassword
Close out the Terminal window and behind it you will find the Reset Password utility. All you have to do now is select the user account you want to reset, enter a new password or leave it blank and click Save. Then just simply restart the computer from the Apple menu and login with your new password.

Console application - masked password input

I'm working on console application for OS X. It is native application in Xcode in swift. User is going to provide his personal password into console. This is one-time action, when password is provided, it is stored by application into KeyChain.
I would like to support user with secure password input. For reading username I use readLine(). I don't want to use same for password as:
Password is visible when user is typing it.
When user press enter, it is still visible on screen.
So far I have 2 ideas how can I prompt for password securely:
Use some kind of ReadChar() function and after each key press, clear console screen, so letter entered by user will not be visible on screen.
Force readLine() function to mask entered characters.
I was not able to find any function that can capture one customisation entered by user. Also I was not able to identify function that I can use to clear console screen. For second idea: In Apple development documentation, I was not able to find any function that will mask user input.
Can you please advice how to overcome this challenge?

How does Apple keychain retrieve passwords without asking for master key?

OSX and iOS store all your passwords in the Keychain App. If you open the Keychain and want to see any password you are asked for "master password".
However I noriced that if you visit a website on Safari that requires the same password to login, it just fills in the password without asking you for the master pass. If the passwords are encrypted how could it be able to retrieve them without your key? Are they unencrypted? In such case what's the poijt of asking me for the password when I want to see them?

Resources