How To get 4S Auth Keys (Mac)

Downloads needed for this tutorial:

Preliminary Make sure you have Ruby installed on your mac.

To install ruby run the following in Terminal:

sudo gem install eventmachine
sudo gem install CFPropertyList
Follow Steps (to generate certificates. (to only be done once))
  1. Make sure all everything is downloaded from the list above.
  2. Put all of these tools in one directory on your desktop. (Make a folder called siriport) Put everything in there then open Terminal and type: cd desktop/siriport
  3. We need to create fake SSL certificates to fool your iPhone 4S into thinking that your computer is actually apple servers.
  4. Generate your the first certificate by running the following in Terminal:
    openssl genrsa -des3 -out ca.key 4096
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt
  5. Next you will generate your server key. Enterguzzoni.apple.com as the Common Name when Terminal asks for it.
    openssl genrsa -des3 -out server.key 4096
    openssl req -new -key server.key -out server.csr
  6. Now run this command to sign the certificate.
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.passless.crt
  7. Now we need to make a certificate that requires authentication.
    openssl rsa -in server.key -out server.key.insecure
    mv server.key server.key.secure
    mv server.key.insecure server.passless.key
  8. Now we need to install this certificate on your iPhone. We will do this through the utility downloaded earlier called iPhone Configuration utility. Open iPhone configuration utility and connect your iPhone 4S to the computer.
  9. Click File, New Configuration Profile.
  10. In the General section enter guzzoni.apple.com as the name, and anything can be put in as the identifier. Lets just go with com.apple.siri
  11. Select the Credentials section and click Configure.
  12. Then find the file ca.crt file we created earlier and select that. This should be in desktop/siriport
  13. Now select your iPhone 4S on the right side and go to configuration profile tab.
  14. You should see the profile we just created there. Now click install.

Catching 4S keys (TO BE REPEATED WHEN KEYS CHANGE)

  1. Now we need to find our python script we downloaded before. Save this file as dns.py in your siriport folder on your desktop.
  2. Open that file with a code editor or text editor and go to line 29 and change the IP to the local ip address of the computer you are currently using. You can find this ip address by going to system preferences network and click on the interface you are currently using (wifi/ethernet) and you should see ip address. Use that one.
  3. Now in a new terminal window type cd desktop/siriport then type.
    sudo python dns.py
  4. If this gives an error go into activity monitor.app (Applications/Uttilies) and search for a process matching python.If this exists end the process and try the last command again.
  5. Now go to your iPhone and open the settings app. Then go to wifi, then click the blue arrow on the wifi you are currently using. (Should be the same as the computer thats running dns.py) then scroll down to dns and input the local ip address that we found earlier on your mac.
  6. Now open a new terminal window leaving dns.py running. Run the command cd desktop/siriport
  7. Enter the following into the new Terminal window:
    sudo ruby siriServer.rb
  8. If this gives an error do the same process as before with activity monitor except search for ruby. Quit process and re run the command.
  9. Make a siri command on your iPhone 4S. The command should not go through but on your computer you should see a lot of text popup on the siriserver.rb terminal window.
  10. Copy and paste this into a text file. Usually it is best to copy from xace-host all the way down.

Converting Validation Data:

  1. Make sure you have the noon important download on your computer. Verify that the contents of the noon important folder are in desktop/siriport.
  2. Open the file in the siriport folder and look for convertvalidationdata.rb. Open this is your code editor.
  3. Where you see quotes you are going to want to put your validation data that you copied into the text file. The validation data is the long series of numbers and slashes. Be sure to copy and paste from beginning of quotes to end and put this into convertvalidationdata.rb.
  4. Open Terminal and type cd desktop/siriport. Now type

sudo ruby convertvalidationdata.rb

The output should be a long series of characters. Copy and paste this into your text editor.