Where are digital certificates actually stored on Mac OS X computers?


Opa114

Can someone tell me, maybe with a link to the literature describing it, where are digital certificates stored on Mac OS X? I know that I can access the certificate using the "Keychain" app. But where are the certificates stored on disk? For example, under Linux they are below, /etc/ssl/certsbut under Mac OS X they have no certificate in this folder.

I read something about certificates being stored in a "keychain file?". Is this correct? If yes, can someone explain to me the technical details of it.

If anyone has detailed documentation on these things, it would be helpful to link them here. Thanks!

David Postiel

Where are digital certificates stored on Mac OS X

Apple's Mac OS X includes a built-in key and password manager, Keychain, for storing user passwords, user and server certificates, and keys.

Source Certificate and Key Management in Mac OS X


Where is the keychain data stored?

Keychain data is stored in ~/Library/Keychains/, /Library/Keychains/ and /Network/Library/Keychains/.

The first location is where my personal keychain is stored. To access their data, I need the Keychain Utility located in the Utilities folder in the Applications folder.

I like using Spotlight to access the Keychain Utility because it only takes a few keys to get there – click the Spotlight icon in the top right corner and type 'keychain'. Spotlight is fast, predicting what you're looking for and quickly putting it at the top of search results, so you don't even need to type an entire word. Once you open it, you can access your keychain.

Understanding local keychain files

I will briefly explain the purpose of the most important files in these directories.

/Users//Library/Keychains/login.keychain– This keychain is created when you create a user account in Mac OS X, and usually its password is synced with your login password. It's unlocked on login and locked on logout. This is the final entry point for most of your passwords. When you change your login password or use the Keychain Access utility, its password also changes.

/Users//Library/Keychains/– UUID stands for Unique User ID – This identifier does not match your OS UUID. It is created when the account is created. This is where your iCloud Keychain is stored, but if the service isn't enabled, it will show up as "Local Items" and be renamed to "iCloud" when the service is enabled. The iCloud Keychain service allows its passwords and other types of data to be synced with your other Apple devices such as an iPad, iPhone, or other Mac. The only requirements are that all these devices use the same Apple ID account and that the operating system supports the iCloud Keychain service (Mac OS X 10.9 and above, iOS 7.0.3 and above).

/Library/Keychains/System.keychain– The system keychain stores items that the operating system can access and share among users, for example, allowing everyone on the Mac to connect to a WiFi network. Only administrators can change its content.

/Library/Keychains/FileVaultMaster.keychain– The file is created by the system after the FileVault encryption service is enabled on the Mac. The operating system manages its content.

/System/Library/Keychains/– This is another location where you can store payloads of keychain files. Its content is managed by the system and other applications. Most of them will not appear in the Keychain Access utility, however, all users will benefit from it.

Source Understanding Ivaylo Mihaylov 's Mac OS X Keychain


Further reading

Related


Where are Java preferences stored on Mac OS X?

avernet : On Windows, the Java preferences you can access in your application from java.util.prefs.Preferences are stored in the registry. Where are these stored on Mac OS X? Todd Gamblin: 从Apple Developer Connection: The preferences file generated by the Pref

Where are the wireless passwords stored on Mac OS X?

Vander After the Snow Leopard update, I can't connect to my home wifi router. I removed it from Network Preferences and Keychain, but when I reconnect it doesn't ask me for my password. All other wireless networks I configured before the update still work, and

Where are Java preferences stored on Mac OS X?

avernet : On Windows, the Java preferences you can access in your application from java.util.prefs.Preferences are stored in the registry. Where are these stored on Mac OS X? Todd Gamblin: 从Apple Developer Connection: The preferences file generated by the Pref

Where are the wireless passwords stored on Mac OS X?

Vander After the Snow Leopard update, I can't connect to my home wifi router. I removed it from Network Preferences and Keychain, but when I reconnect it doesn't ask me for my password. All other wireless networks I configured before the update still work, and

Where are Java preferences stored on Mac OS X?

avernet : On Windows, the Java preferences you can access in your application from java.util.prefs.Preferences are stored in the registry. Where are these stored on Mac OS X? Todd Gamblin: 从Apple Developer Connection: The preferences file generated by the Pref

Where are the keyboard text shortcuts stored in Mac OS X

Jacob Young I'm writing an AppleScript that interacts with "System Preferences > Keyboard > Text" information and I'd like to know where the actual properties are stored. Colorado ~/Library/Dictionaries/CoreDataUbiquitySupport/ Within that folder are multiple

Where are the keyboard text shortcuts stored in Mac OS X

Jacob Young I'm writing an AppleScript that interacts with "System Preferences > Keyboard > Text" information and I'd like to know where the actual properties are stored. Colorado ~/Library/Dictionaries/CoreDataUbiquitySupport/ Within that folder are multiple

Where are SSL certificates stored?

iOS Monkey I understand how SSL works, but my question is more about the storage of certificates on the client side. To understand the exact context, let's assume I'm writing my own browser. My rendering part will be done by WebKit and the HTTP request handlin

Where are SSL certificates stored?

iOS Monkey I understand how SSL works, but my question is more about the storage of certificates on the client side. To understand the exact context, let's assume I'm writing my own browser. My rendering part will be done by WebKit and the HTTP request handlin

Where are SSL certificates stored?

iOS Monkey I understand how SSL works, but my question is more about the storage of certificates on the client side. To understand the exact context, let's assume I'm writing my own browser. My rendering part will be done by WebKit and the HTTP request handlin

Where are SSL certificates stored?

iOS Monkey I understand how SSL works, but my question is more about the storage of certificates on the client side. To understand the exact context, let's assume I'm writing my own browser. My rendering part will be done by WebKit and the HTTP request handlin

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Set imported certificates to always be trusted in Mac OS X

Mani I have generated a certificate in pfx format in Mac os X and imported it into the system keychain using: sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar The problem is that all trusts are set to no value specified. How to

Are leap seconds stored anywhere on Mac OS X?

Jason I'm find /usr/share/zoneinfo/ -type f -exec file {} \; |grep -v 'no leap'running on a system and every timezone file says no leap seconds. Is it possible to store leap seconds anywhere on mac OS X in a robust way? I'm writing a library that takes leap se

Are leap seconds stored anywhere on Mac OS X?

Jason I'm find /usr/share/zoneinfo/ -type f -exec file {} \; |grep -v 'no leap'running on a system and every timezone file says no leap seconds. Is it possible to store leap seconds anywhere on mac OS X in a robust way? I'm writing a library that takes leap se

Are leap seconds stored anywhere on Mac OS X?

Jason I'm find /usr/share/zoneinfo/ -type f -exec file {} \; |grep -v 'no leap'running on a system and every timezone file says no leap seconds. Is it possible to store leap seconds anywhere on mac OS X in a robust way? I'm writing a library that takes leap se

Are leap seconds stored anywhere on Mac OS X?

Jason I'm find /usr/share/zoneinfo/ -type f -exec file {} \; |grep -v 'no leap'running on a system and every timezone file says no leap seconds. Is it possible to store leap seconds anywhere on mac OS X in a robust way? I'm writing a library that takes leap se

Are leap seconds stored anywhere on Mac OS X?

Jason I'm find /usr/share/zoneinfo/ -type f -exec file {} \; |grep -v 'no leap'running on a system and every timezone file says no leap seconds. Is it possible to store leap seconds anywhere on mac OS X in a robust way? I'm writing a library that takes leap se