yashsingh1/xdaforums huggingface dataset:
[Nook Touch General] djpeanut:
I'm running a rooted Nook Simple Touch and the most recent compatible Kindle app (3.2.0.35), as I have been for about three years. Since last week, for no discernible reason, syncing my Kindle library no longer works, i.e. I get the 'Sync failed, please try again later' message, and it therefore no longer receives samples or new purchased ebooks. Also, when searching the Kindle store, the layout of the pages has changed to something that looks distinctly broken, as if CSS has been disabled.

Has anyone else encountered this? Perhaps Amazon have updated their API and broken compatibility with v3.2.0.35 in the process? Or am I the only one who's having this problem – in which case what should I do? I've already tried reinstalling the app, deregistering the device and re-registering, etc...
[Nook Touch General] nmyshkin:
I've never used the Kindle app for more than locally stored books but I tried looking at the Store today and got the same results you describe. This is the danger of old apps--they get left in the dust by changes made on the "other" side. I've seen that with the last working version of the CNN app as well as Zinio and others. They may continue to work locally but communication with a remote server might be broken. That will probably be the eventual fate of the NST with B&N.
[Nook Touch General] tshoulihane:
Working fine for me this morning - not used it for months, and I'm able to sync a newly purchased book, and progress in another. The store view is broken, but I don't think that is a new problem.
[Nook Touch General] nmyshkin:
Can you confirm if this is still working for you? There have been a number of people reporting no sync function now. I don't have Amazon content to test, but if I do a clean reinstall of the app my "recommended" section is blank. Restoring a backup image brings back the cover images in that section from when I first installed the app long ago.
[Nook Touch General] tshoulihane:
Not looking too good - I can see purchased books, but when I attempt to download anything, the progress bar doesn't move, and after a few seconds, 'pause' changes to 'resume'.

All I can see in logcat is

D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session
D/OpenSSLSessionImpl( 4183): Freeing OpenSSL session

Doesn't look too hopeful, but if you have any suggestions, I can experiment.
[Nook Touch General] mr.rcollins:
If you visit Amazon's secure website in Browser, it complains about not trusting the certificate authority. I wonder if that's the reason the app isn't working. Anyway to add certificate authorities to the NST?
[Nook Touch General] tshoulihane:
That would make some sense. More likely than the SSL library being so old that modern protocols don't work, which was my line of thought.

I'd be fairly confident it is practical to update the certificate list - just need to find someone who knows how.... If you go looking, start with finding how to _revoke_ a certificate - that's more likely to have better search hits, I guess.
[Nook Touch General] mr.rcollins:
Looks like it's not that simple.

(As a new user I can't post a direct link to the stack overflow post)

I don't know what that means for rooted NST.
[Nook Touch General] nmyshkin:
So there are a number of interesting-looking sites regarding adding to/updating the certificates file (cacerts.bks). It's troubling and ironic, though, that the official Cacerts website gives a security error in Firefox and won't load :silly:

Anyway, here's a Wiki which doesn't make it look too bad. I wonder if this could be done whether it would also fix the Amazon App Store issues.

Edit: Look at "way 3" on the page linked. Seems really easy--almost too easy!
[Nook Touch General] tshoulihane:
Success. its not too complicated, just needs the right steps listing out.

I originally used jdk1.7.0_79, and bcprov-jdk15on154.jar since that was the java version I have working with android studio now, but ended up with a bootloop (but ADB working, so I was able to restore the old cacerts.bcs.

I managed to list the current certificates, one did expire Dec'15, although that doesn't seem to be in the path for amazon. When I started, an SSL checker app reported most sites failing. With the one update below, its about 50%

Download http://www.bouncycastle.org/download/bcprov-jdk15on-146.jar - this is used locally on your PC to manipulate the certificates and needs to be version 146 or 147 to work with android (or old android at least)

Navigate to https://www.amazon.co.uk, (must be https) click the padlock in the browser (chrome) and 'connection'. In certificate path, find verisign at the top. 'view certificate' and details, then 'copy to file'. I used 'Base-64 encoded X.509' format, and saved as verisign.cer

get the old key store, and keep a copy

adb pull /system/etc/security/cacerts.bks cacerts.bks
copy cacerts.bks cacerts.bks.old

In your java install, find keytool.exe. You need to provide the password changeit, and the path to the bcprov.jar which you downloaded earlier. Ass the certificate (and say yes when prompted to trust it)

'C:\Program Files\Java\jdk1.7.0_79\bin\keytool.exe' -storetype BKS -keystore d:\Documents\nook\cacerts.bks -provide
r org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "C:\Program Files\Java\jdk1.7.0_79\lib\ext\bcprov-jdk15on-146.jar" -storepass c
hangeit -importcert -alias verisign -file D:\Documents\nook\verisign.cer

Now re-mount /system as read-write (using ES root explorer, or remount) and

adb.exe push .\cacerts.bks /system/etc/security/cacerts.bks

Finally, remount read-only and reboot.

If you're feeling brave, my updated file is here https://drive.google.com/open?id=0BxZHbImYcMGJcjFMZmJ1Szg0VHc (I don't think you should trust your nook much anyway, so its not too bad even if i did something wrong!)

Here for one with a few more certificates found using ssl checker (droidski), working on my Pixel-C, and also trusted by chrome on windows. https://drive.google.com/open?id=0BxZHbImYcMGJRDRXS2NZVmZTSVE

Mirror copies:

https://www.androidfilehost.com/?w=files&flid=50094 - Basic version (amazon working)

https://www.androidfilehost.com/?w=files&flid=50095 - More complete
[Nook Touch General] nmyshkin:
Mmm.....that's looking just this side of fearsome to me. My keystore report showed 7 certs. out of 54 expired with a few more going in 2017 and many in 2019 and then much later.

So my first question is, did this resolve the Kindle issue or are we barking up the wrong tree!

Second, I assume you are in the UK, hence the amazon.co.uk?
[Nook Touch General] tshoulihane:
Yes, kindle app working fine now - even the kindle store pages load OK, and they have been broken for ages for me. Just synced about 6 books.

I used amazon.co.uk since its local for me, but they probably use the same root (verisign) so copying my file ought to work for you (but no guarantees, I was assuming my nook was junk if I couldn't fix this)
[Nook Touch General] nmyshkin:
Wow, this is great! Thank you for pursuing it. It makes me wonder now about other odd behaviors like older versions of Google Books that can't sync, and the Market app itself that can't seem to do a search properly. Some people have recently begun to complain that even SearchMarket is returning just a couple of apps on a search. Maybe it's why the old CNN app stopped loading up content. And, of course, the old Amazon App Store.

I need to read about all this carefully and "gird my loins", so to speak, to make an attempt!
[Nook Touch General] tshoulihane:
The only really messy bit is the long keytool command. It has a few other options, so you can '-list' your key store to check the update worked before pushing it back onto the phone. Of course, you don't need to use adb, but it might save you in case there is a problem.

Once I updated the certs, I did see more syncing activity on logcat - suggesting more things were working, but as far as I can tell, the market is still just as brokn, needing searchmarket.
[Nook Touch General] mr.rcollins:
Both Google Drive links aren't open to the public... :)
[Nook Touch General] tshoulihane:
Try again - works for me in incognito now.
[Nook Touch General] nmyshkin:
Feeling a bit too brave here, so I tried this method found on Stack Exchange:

In my case I just tried the certificate from amazon.com and everything seemed to work as described--until I rebooted, or tried to. Bootloop. Thank goodness for Nook Manager and backups!
[Nook Touch General] nmyshkin:
Real progress!

Many thanks [MENTION=2662726]tshoulihane[/MENTION]! I've successfully copied over your more extensive update of cacerts.bks

The Kindle app seems to function like it should, including the store. The Amazon App store "functions" in that, while I could not seem to log in with my Amazon credentials I could see and browse apps. I didn't try downloading any, though, as I've never cared for the behavior of the App Store on the NST, but it looks like the app might be salvageable, perhaps requiring additional certs.

The old CNN news app still will not load up content, although you can enter your location and get a weather forecast :)

The old version of Google Books (1.0.1.6) works great! I was able to look at my online content, both from Google and also an e-book (not from Google) I had uploaded. My memory tells me that this was a BIG issue with a lot of people who wanted to use the Books app in the past. (see edit below)

I think this is headed in the right direction for apps that seem to fail because they can't negotiate a secure server connection (those which need to sync data). What a neat discovery!

Edit: in fact Google Books 1.0.1.6 works fine locally as a reader but cannot upsync your reading position. BUT, a working version of Google Books has been discovered. Read here.
[Nook Touch General] tshoulihane:
If you can find a URL I can extract a suitable cert from, I can update again easily enough.
[Nook Touch General] nmyshkin:
Thanks for the offer. I've been snooping through the logcat for both the Amazon App Store and the CNN

News app. I can say definitively that the App Store is broken. This line appears in the logcat during the whole log-in cycle that does not work:

E/AmazonAppstore.AbstractJsonWebResponse( 5845): failed to construct JSON response: {"message":"The registerDevice API has been retired. Please upgrade your appstore client."}

As for the CNN News app, there are many, many JSON errors related to fetching headlines and images that are "not found". Those would likely be the little pictures that act as access "buttons" for each story. While there's nothing as explicit as the message for the App Store, it seems pretty clear to me that whatever the app is looking for is no longer where it expects to find it.

Still, I think the certificate update has been very helpful in rescuing Google Books and Kindle--maybe others in the near future, who knows? And I learned something :)
[Nook Touch General] kevin2:
Thanks! The Kindle app is now working for me as well (both sync and store). For reference, I used the following steps on my Linux machine to update the cacerts.bks file:

wget 'http://www.bouncycastle.org/download/bcprov-jdk15on-146.jar'
adb pull /system/etc/security/cacerts.bks cacerts.bks-20160217

keytool -deststoretype BKS -destkeystore cacerts.bks -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath ./bcprov-jdk15on-146.jar -srckeystore /etc/pki/java/cacerts -importkeystore

keytool -storetype BKS -keystore cacerts.bks -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath ./bcprov-jdk15on-146.jar -delete -alias -1

keytool -storetype BKS -keystore cacerts.bks -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath ./bcprov-jdk15on-146.jar -delete -alias -2

adb shell 'mount -o remount,rw /dev/block/mmcblk0p5 /system'
adb push cacerts.bks /system/etc/security/cacerts.bks
adb shell reboot

Each time prompted for a password, enter "changeit" (without quotes).

I chose to completely replace the existing cacerts.bks file with the certificates that my Linux machine uses (from /etc/pki/java/cacerts). The standard certificates on my system contained two certificates that appear to get corrupted when converting to the older cacert.bks file format, so I deleted those two certificates (see the two -delete lines in the commands above). I did this on a Fedora 23 installation, but other Linux machines should be similar. Note that there are Linux packages that provide the bcprov jar, but they are too new for the nook, so download the v146 version (see the wget line in the commands above).
[Nook Touch General] digixmax:
Same here.

What else could it be that is blocking signing in?
[Nook Touch General] nmyshkin:
Oh, it's dead, alright. See here.
[Nook Touch General] ezral:
Thanks tshoulihane, my wife now thinks I have Magical Powers.

For those (like me) who need a more basic guide to doing this, this is what you need to do.

Download ES File Explorer .apk from here.

Download the cacerts.zip file that tshoulihane provided from here.

Unzip the cacerts file and copy the cacerts.bks file to an SD card.

Copy the ES File Explorer apk onto the same SD card.

Insert the SD card into your Nook and install ES File Explorer.

Open ES File Explorer and enable Root Explorer by pressing the little menu icon in the top left corner, selecting 'Tools', scrolling down and turning Root Explorer on.

Tap Root Explorer on the menu, scroll down to Mount R/W.

Select System as R/W (read/write).

Navigate to your SD card and copy the cacerts.blk file.

Navigate to /System/etc/Security, and paste the cacerts.blk, choosing Overwrite when prompted.

Open the menu again and use the Root Explorer -> Mount R/W setting to change System back to R/O (read-only).

Reboot.

This works for amazon.co.uk here in the UK.

Thanks again to all the people who did the actual work!
[Nook Touch General] hyte1:
Thanks to all who has contributed on this thread. Don't use my Nook often but turned it on today to find I couldn't sync the Kindle app. I have now fixed it with the above information (UK based).
[Nook Touch General] CaptainCornflake:
Another satisfied customer here - thanks to all who contributed.

After working through my backlog of wood based books from christmas I picked up my nook this week to discover this problem.

Thank god it's easy to fix (once you know what to do!)
[Nook Touch General] c1gum:
Worked great for me as well! Thanks everyone!
[Nook Touch General] cjc15153:
I followed Kevin2's instructions and it worked fine, though I did not have any import errors.

Initially I screwed up by not paying attention to which file was being written to, and as a result the Amazon app told me that my WiFi was not working (which of course was incorrect).

In OpenSuse I needed the full path to run keytool; the certificate store is found at /usr/java/jre1.8.0_73/lib/security/cacerts.
[Nook Touch General] ktnemec:
This didn't work for me even when I found the location of the cacerts on my Linux Mint system. What I ended up doing was downloading the cacerts file from erzal's post here and then loading it using these commands from kevin2's post.

adb shell 'mount -o remount,rw /dev/block/mmcblk0p5 /system'
adb push cacerts.bks /system/etc/security/cacerts.bks
adb shell reboot

I fully admit, I don't know what I am doing so only use this idea as a last resort if none of the other processes work for you. Thanks to erzal and kevin2 for doing the real work.
[Nook Touch General] Djl208:
Thanks Ezral

This worked a treat for me, easy to follow, and only took 5 mins.

I've had to re-download most books for some reason, but all good now.

Thanks Ezral and all who worked on this
[Nook Touch General] sienna99:
How do you use the kindle app for locally stored kindle books? I sideloaded a bunch of books but haven't been able to open any of my kindle books. I've tried installing a number of versions of the Kindle app. No luck yet for Kindle books, though some of the free kindle books came through on another reader (they must not have DRM I guess). Anyone have advice?
[Nook Touch General] nmyshkin:
I only have side-loaded mobi content and have not had any issues. If your books are DRM, you might try using Calibre + plugin to remove that and see if it makes a difference but I don't see why it should unless they are licensed for one device only.
[Nook Touch General] Andy2No:
Thanks. I got it working, on my recently acquired Nook Simple Touch, based on your simplified instructions, but I missed the line where it said reboot.

FWIW, it didn't work til I rebooted, and it didn't immediately occur to me that was the problem. I could see the Archive section in the Kindle app, but any book I tried to download still just showed the cover page, then the Resume button appeared. Pressing it brought it straight back - no progress. In On Device, it showed Download Interrupted.

I used Root Browser.2.2.3 (installed from the apk), so the mount as R/W part of it wasn't necessary. In /System/etc/Security, I renamed the old cacerts.blk to cacerts.blk.OLD, then pasted in the new one (i.e. made a backup).

What I should have done next was reboot :)
[Nook Touch General] Andy2No:
How do you get the Kindle app to see it? I've tried pasting a .mobi file in /sdcard/kindle, but it doesn't appear in the Kindle apps list of books.

The only way I've been able to read mobi files is with CoolReader, or similar.
[Nook Touch General] nmyshkin:
I have to admit it's been awhile since I set it up. I have my mobi files where you suggest and they all show up. I seem to remember letting the app create that folder and then just placing the books there...
[Nook Touch General] Andy2No:
Thanks. It's working now. Knowing it was meant to helped. I'd assumed they'd just put a block on adding our own files.

I did a reboot after putting it there this time, but maybe that's not needed. Maybe I just missed seeing it? Or maybe it works if it's done via USB - I was copying the file there from /media/My Files/Books with Root Browser.

I'll have to experiment some more, but yes, like you, I let the Kindle app create /sdcard/kindle, after which, putting mobi files in there works.... Possibly after some other measure, like a reboot or ejecting and reinserting the sdcard, if it doesn't see it straight away.

I've been avoiding reboots, because every time I did it, CoolReader lost my place in the book I was reading - along with any bookmarks I added to try to get around that. I guess I should be trying a reboot first, when things don't work as expected though.
[Nook Touch General] mh127:
cacerts for Amazon (US)

Would any of these certificates work for Amazon (US), i.e. kindle app in US? I have tried the second, "more complete" file, hoping it would work, but ended up with a boot loop. I can try the former to see if it works, but would like to know if it is likely to work for Amazon US.
[Nook Touch General] tshoulihane:
Yes, the more complete one is best, and ought to work for all Amazon sites (it updates the root, not the individual site information). I got a bootloop first time round because I used the wrong version of BouncyCastle (the security framework provider) - can you check logcat whilst it is trying to boot? that might give some clues...

The other possibility is there is some version difference between my certificate store and yours - but that would hint at different android versions... I'd suggest you try and follow the whole process to modify your own certificate store - there is a reasonable amount of guidance online, even if its fairly old. It'll be about Tuesday before I'm able to look at this again...
[Nook Touch General] nmyshkin:
I used the more complete version without incident. All I did was copy the file via USB to my Download folder. I renamed the original file as "cacerts.bak". Then I used a root file manager to move the new cacerts file into the proper location (you need to temporarily change permissions of target folders to RW). Once the new file was in place I changed its permissions to match those of the original. Then restore the correct permissions to the target folders and reboot.

It's sometimes only a permissions issue that engenders a boot loop.
[Nook Touch General] mh127:
OK, I will give it a go. I have previously used ES file explorer to copy the new cacerts over, but did not check permissions. I do not have my Nook with me right now, but does ES allows to change permission or do I have to use a different tool?

---------- Post added at 03:30 PM ---------- Previous post was at 02:59 PM ----------

OK, I updated cacerts and the device rebooted fine, but I am not sure it works well enough because I cannot log in into my amazon account in either app store or kindle app (downloaded from this forum).

---------- Post added at 03:46 PM ---------- Previous post was at 03:30 PM ----------

OK, after trying again in 10 minutes I was able to log in to Kindle app.
[Nook Touch General] andyinsb:
Hi,

I followed ezral's instructions, once using the cacerts file to which he links, and once using the second, more-complete cacerts file linked to by tshoulihane, but I'm still having trouble with the sign-in in apps that need to access my Google account. Docs to Go and EasyPrint (for Cloud Print) are a couple of examples that give error messages when I try to log into my Google account.

Does anyone have any suggestions for solving that problem? Thanks in advance.
[Nook Touch General] nmyshkin:
Two possibilities come to mind: either the revised cacerts file is missing something that would help, or the API of the old apps is no longer valid. The latter is the case with the Google Books apps that will still work with the display of the NST. There's no fix for that, unfortunately.

If you have another device with a newer version of Android, there's an easy way to test if the apps still work. Install them on that device and see if they work properly for sign-in. If they do, then there is an issue with the cacerts file. If not, then it is likely Google has updated the API at some point and left these older versions on the android junk pile.

Edit: you might also want to check your Google account to see if you have 2-step sign-in enabled. This might be causing a problem for the NST. I didn't realize on first reading that these apps were not GApps, so the whole API issue might be moot. In your Google account there is also a setting for allowing "less secure" apps to access your account. You might want to take a look at that as well, but this could instead be a vendor issue since these are not GApps. Still would be useful to try them on a newer device.
[Nook Touch General] shweeney:
ezral's idiot's guide worked for me too - just to note the link to ES Explorer is dead and the latest version won't install on the Nook ST. I used this apk (version 3.1): https://es-file-explorer.en.uptodown.com/android/download/56442
[Nook Touch General] screech:
FWIW .. this worked awesomely for me too.
[Nook Touch General] rrrsss:
works awesome for me. but somehow aldiko becomes unusable after doing ezral's idiot guide. i've uninstalled and reinstalled aldiko without any success. it would install but it would not launch at all. any ideas?
[Nook Touch General] nmyshkin:
Is the aldiko using sync? It's hard to imagine a connection if everything else is still working fine. I would suggest checking the cacerts file permissions, but it doesn't seem like other things would work if they were not correct.
[Nook Touch General] borgs_uk:
Just spent a few hours trying to update my cacerts for getpocket.com as the Read It Later app is no longer syncing. I must have done something wrong as it is still is not syncing and the browser on the Nook is still reporting a problem with the certificate. Has anyone fixed theirs?

Thanks.