Comments (6)
Second part was my mistake, for some reason I thought that this plugin did decryption, but with proper rights checking. I see now that it just leaves that for an DeDRM to deal with. I thought DeDRM was only necessary if you wanted to export it something... anyway, still confused about the activation token
from acsm-calibre-plugin.
The returned data from the /Activate request (the activation token) gets stored inside the activation.xml file, as is. Maybe some of the data isn't needed there, but I tried to implement the XML files identical to how Adobe does it.
I believe the only values that are actually needed are "device", "fingerprint" and "deviceType". "deviceType" will always be "standalone" for authorizations done by this plugin, but as the plugin also supports exporting the authorization files I wanted to keep them as they are supposed to be.
Never looked into that "signature" tag the server returns, I'm assuming it's intended so that the client can somehow verify that the response came from a legit Adobe server and hasn't been modified in transit. As there was no need to implement that signature check to have the plugin work, I never looked into how that parameter works, and I don't think libgourou contains any code related to that either.
If you figure out how to validate that signature parameter feel free to let me know and I'll add it.
And as you already noticed, this plugin does nothing to remove the DRM from fulfilled books. It would be fairly simple to add as all the keys are already there, but I don't want to get involved in potential legal issues.
from acsm-calibre-plugin.
Yeah, since this was intended to be a reader plugin and will not ever be on a computer with adobe software, I was going to simplify things a bit. For now at least, I'm just going to store the device in the normal preferences store (not XML), along with the fingerprint (which we generate, right?)
from acsm-calibre-plugin.
Maybe sometime I'll improve it to be identical to ADE, but for now I just want a working implementation 😄
from acsm-calibre-plugin.
If this is going into an eReader plugin, it might be a good idea to attempt a mobile authorization instead of a standalone Desktop authorization.
Each Adobe ID starts out with 6 desktop and 6 mobile authorizations available, and each activation through ADE, readers, or this plugin will use one of these. If reader plugins / eReaders identify as mobile authorizations as intended, people can actually use more of their available authorizations.
Especially if you plan to "deviate" from the standard and/or do not plan to have an import/export functionality for an existing authorization like my plugin. If you do plan to have that and people can clone their authorizations then desktop auth is probably fine IMO, but that would require you to store the data like Adobe does.
from acsm-calibre-plugin.
That's a good idea, I'll put it on my to-do list. Perhaps I'll even allow both. Anyhow, I should get basic functionality first 😄
from acsm-calibre-plugin.
Related Issues (20)
- Processing an ACSM file added via a plugin HOT 5
- ACSM file not converting to ePub
- ACSM Not Converted HOT 3
- [Suggestion] Add job queue in the bottom of Calibre HOT 1
- Calibre crash upon linking ADE account HOT 5
- Plugin cannot install/initialize due to `OSError: dlopen(libcrypto.dylib)` HOT 3
- [Suggestion] Calibre main window can be accessed when plugin is opened HOT 2
- Installation failed: Invalid plugin HOT 4
- Exception when installing plugin in Flatpak Calibre HOT 3
- The library libcrypto could not be found HOT 18
- Configuration via CLI possible? HOT 1
- ACSM won't process HOT 2
- ModuleNotFoundError: No module named 'libadobe' HOT 11
- ERROR: Unhandled exception: <b>InvalidPlugin</b> HOT 1
- Deauthorize HOT 1
- Handle Connection Errors HOT 1
- [question] How to import an acsm file? HOT 3
- DeACSM fails with exception "Running file type plugin failed" HOT 2
- Error installing ACSM Input plugin (AttributeError: module 'calibre_plugins.deacsm.prefs' has no attribute 'DeACSM_Prefs') HOT 4
- Error determining version while trying to create anonymous authorization HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acsm-calibre-plugin.