nega0 / pianobarfly

pandora2[mp3|m4a]
https://github.com/nega0/pianobarfly
Other
60 stars 31 forks source link

TLS fingerprint mismatch #62

Open phillip-toone opened 8 years ago

phillip-toone commented 8 years ago

I am a Pandora One subscriber and this program has been working great for me. But about a month ago I got the infamous "TLS fingerprint mismatch" error and have not been able to fix it. Here is a copy of the entire error message:

WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-wtysEC/pkcs11: No such file or directory Welcome to pianobarfly (2013.09.15-dev)! Press ? for a list of commands. (i) Login... Network error: TLS fingerprint mismatch.

I tried using the following to see if my config file was using the right fingerprint:

openssl s_client -connect tuner.pandora.com:443 < /dev/null 2> /dev/null | openssl x509 -noout -fingerprint | tr -d ':' | cut -d'=' -f2

This returned a value of 2D0AFDAFA16F4B5C0A43F3CB1D4752F9535507C0 that I used in the config file but it did not fix the problem. Any help would be greatly appreciated. Thanks.

cmohler commented 8 years ago

Try this in your config file. tls_fingerprint = 13CC51AC0C31CD96C55015C76914360F7AC41A00

Got it from here https://github.com/PromyLOPh/pianobar/issues/560

phillip-toone commented 8 years ago

Thanks for the help but that didn't work for me. :(

M1Sports20 commented 8 years ago

When running your command I get the same fingerprint that cmohler gets.

cmohlers change works for me.

tls_fingerprint = 13CC51AC0C31CD96C55015C76914360F7AC41A00

bcoppernoll commented 8 years ago

I have gotten the same error. Changing the tls_fingerprint works, if you are not using Pandora One. If you are attempting to use Pandora One, you get the TLS fingerprint error.

ghost commented 8 years ago

There are 2 different tls fingerprints depending on which pandora server (rpc_host in config) you are using. If you are a Pandora One subscriber and you are trying to play the high quality mp3s, then that is a different host and so a different fingerprint from the regular Pandora server.

Here is my config, which is working right now both ways. For the normal aac and mp3, you would uncomment the first tls_fingerprint below and comment out everything else. For the paid high quality mp3s, comment out the first tls_fingerprint and uncomment rpc_host and the 2nd tls_fingerprint and the other extra stuff on the bottom like it is here.

user = <my_email>
password = <my_password>

# standard pandora as of 20151214
#tls_fingerprint = 13CC51AC0C31CD96C55015C76914360F7AC41A00

# high-quality audio (192k mp3, for Pandora One subscribers only)
audio_quality = high
rpc_host = internal-tuner.pandora.com
tls_fingerprint = 7F2BFD338D08D6F952D215C0FC8C3C4C1DC1772F
partner_user = pandora one
partner_password = TVCKIBGS9AO9TSYLNNFUML0743LH82D
device = D01
encrypt_password = 2%3WCL*JU$MP]4
decrypt_password = U#IO$RZPAB%VX2

You get these fingerprints any time you want by running contrib/tls_fingerprint.sh which comes with the source.

I modified my tls_fingerprint.sh to fetch both fingerprints, and copied it to my /usr/local/bin. Attached pandora_tls_fingerprints.txt

bcoppernoll commented 8 years ago

I can confirm that aljex's fix works for me.