MacOS – Importing/Exporting Preview Signatures on OS X 10.10 (Yosemite)

keychainmacospreview

One of the things I always backup when re-formatting a Mac are the digital signatures I have saved in Preview. For this, my go-to reference used to be here: Can I export my signature from Preview on one Mac and import it on another?. But OS X 10.10 (Yosemite) seems to be doing things a little different.

Since Preview seems to be storing the signatures in a new, non-obvious location now, I've been using the opensnoop utility (http://osxdaily.com/2011/04/22/monitor-mac-os-x-filesystem-usage-access-with-opensnoop/) to see what files are being touched when I am working with Preview's signature creation feature. Below is a sample capture:

501    791 Preview       26 /System/Library/Security 
501    791 Preview       -1 /Users/user1/Library/Containers/com.apple.Preview/Data/Library/Security 
501    791 Preview       25 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsDirectory.db 
501    791 Preview       25 /Users/user1/Library/Keychains/login.keychain 
501    791 Preview       25 /Users/user1/Library/Keychains/login.keychain 
501    791 Preview       26 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsDirectory.db_ 
501    791 Preview       27 /private/var/db/mds/system/mdsDirectory.db 
501    791 Preview       26 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsObject.db 
501    791 Preview       25 /System/Library/PrivateFrameworks/AnnotationKit.framework/Resources/Base.lproj/AKSignaturesView.nib 
501    791 Preview       25 /System/Library/PrivateFrameworks/AnnotationKit.framework/Resources/Base.lproj/AKSignatureCaptureView.nib 
501    791 Preview       25 /System/Library/PrivateFrameworks/AnnotationKit.framework/Resources/Base.lproj/AKSignatureGestureCaptureView.nib 
501    791 Preview       25 /System/Library/PrivateFrameworks/AnnotationKit.framework/Resources/en.lproj/AKSignatureModelController.strings 
501    791 Preview       -1 /System/Library/PrivateFrameworks/AnnotationKit.framework/Resources/en.lproj/AKSignatureModelController.stringsdict 
501    791 Preview       26 /System/Library/Security 
501    791 Preview       -1 /Users/user1/Library/Containers/com.apple.Preview/Data/Library/Security 
501    791 Preview       25 /Users/user1/Library/Keychains/login.keychain 
501    791 Preview       25 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mds.lock 
501    791 Preview       26 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsObject.db_ 
501    791 Preview       27 /private/var/db/mds/system/mdsObject.db 
501    791 Preview       26 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsDirectory.db_ 
501    791 Preview       27 /private/var/db/mds/system/mdsDirectory.db 
501    791 Preview       26 /var/folders/l_/47ypnnb951qdym78xvjgsn8r0000gn/C/com.apple.Preview//mds/mdsObject.db 
501    791 Preview       25 /Users/user1/Desktop/sample.pdf 

Looks to me that there is something to be found in the file path:

/Users/user1/Library/Containers/com.apple.Preview/Data/Library/Security

but when I try to traverse to the directory, the system tells me that path doesn't exist. I have also noticed that within the KeyChain Access utility, if you look at the contents of Local Items –> Passwords you will see that OS X now creates individual entries for different signatures now labeled Signature Annotation Privacy.

Welcome assistance on my quest to figure out how to locate, export and import Preview's digital signatures from one Yosemite machine to another.

Best Answer

It's a little too obvious now. The image data is recorded as the password entry in KeyChain. So, to copy a signature, create a signature on your new Mac by camera or touchpad. Then:

  1. Find the desired "Signature Annotation Privacy" entry in KeyChain on your old Mac.
  2. Right-Click and "Copy Password to Clipboard"
  3. Paste the text (base64 is all printable) into a text file
  4. Copy the text file to your new Mac
  5. Find the new "Signature Annotation Privacy" entry on your new Mac
  6. Highlight and delete the Password field from that entry
  7. Copy the contents of the text file to your clipboard
  8. Paste the contents into the password field
  9. Save Changes