Add a new research section for the signature format.

This commit is contained in:
Kenneth Endfinger
2019-10-13 00:38:36 -05:00
parent e0a4e6edde
commit 7b062cfbca
3 changed files with 13 additions and 3 deletions

View File

@@ -27,6 +27,7 @@ of the work. It has an HTTP server that has an API that allows fetching and uplo
## Research ## Research
* [Signature](signature/README.md)
* [Locator Service](locator/README.md) * [Locator Service](locator/README.md)
* [Cache Server API](server/README.md) * [Cache Server API](server/README.md)

View File

@@ -3,9 +3,7 @@
Cache registration is the process that is typically necessary Cache registration is the process that is typically necessary
for Apple devices to use the cache. for Apple devices to use the cache.
Unfortunately, the request that registers the cache seems to be "signed". Unfortunately, the request that registers the cache seems to be signed.
I did however figure out that the length of the signed payload is a Big Endian 32-bit integer before the payload. Still working out the signature format.
```text ```text
Registration URL: https://lcdn-registration.apple.com/lcdn/register Registration URL: https://lcdn-registration.apple.com/lcdn/register

11
signature/README.md Normal file
View File

@@ -0,0 +1,11 @@
# Signatures
Unfortunately I'm not super familiar with signature formats and such in the Apple Ecosystem.
However using a HEX Editor and a lot of coffeee, I'm confident I can break the signature algorithm.
The signatures of the request seem to have two parts, a longer top part, and a shorter bottom part.
The payload is in between these two parts.
A 32-bit big endian unsigned number represents the payload size, and directly following the payload is a 32-bit big endian unsigned number representing the remaining bytes in the signature (however do note that there seem to be two trailing null characters).