Skip to content

Commit 4b65252

Browse files
ЦарьЦарь
authored andcommitted
v1.5.2: rebrand attestation skill to Android Key Attestation
Drop the WhatsApp framing from docstrings, PyPI description and CHANGELOG. The flow has always been generic — wraps a TEE-bound keybox and returns an X.509 chain with KeyMint extension OID 1.3.6.1.4.1.11129.2.1.17; package name and signature are overridable per request. No code or wire-format changes; safe drop-in upgrade.
1 parent 7da254b commit 4b65252

5 files changed

Lines changed: 25 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## [1.5.2] - 2026-05-20
4+
5+
### Changed
6+
7+
- Docs: rebranded the attestation skill from "WhatsApp Key Attestation"
8+
to "Android Key Attestation". The flow has always been generic across
9+
any package — the WhatsApp framing in the docstring was misleading.
10+
No code or wire-format changes; safe drop-in upgrade.
11+
312
## [1.5.1] - 2026-05-20
413

514
### Removed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "reghelp-client"
7-
version = "1.5.1"
8-
description = "Async Python SDK for REGHelp Push Token, CAPTCHA, Play Integrity, WhatsApp Key Attestation and Email APIs"
7+
version = "1.5.2"
8+
description = "Async Python SDK for REGHelp Push Token, CAPTCHA, Play Integrity, Android Key Attestation and Email APIs"
99
readme = "README.md"
1010
license = {file = "LICENSE"}
1111
authors = [

reghelp_client/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
44
Modern asynchronous library for interacting with the REGHelp Key API.
55
Supports all services: Push, Email, Integrity, Turnstile, VoIP Push,
6-
Recaptcha Mobile and WhatsApp Key Attestation.
6+
Recaptcha Mobile and Android Key Attestation.
77
"""
88

99
from .client import RegHelpClient
@@ -35,7 +35,7 @@
3535
VoipStatusResponse,
3636
)
3737

38-
__version__ = "1.5.1"
38+
__version__ = "1.5.2"
3939
__all__ = [
4040
"RegHelpClient",
4141
"BalanceResponse",

reghelp_client/client.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ async def get_integrity_status(self, task_id: str) -> IntegrityStatusResponse:
580580
)
581581
return IntegrityStatusResponse(**data)
582582

583-
# Attestation operations (WhatsApp Key Attestation)
583+
# Attestation operations (Android Key Attestation)
584584
async def get_attestation_token(
585585
self,
586586
authkey: str,
@@ -594,7 +594,12 @@ async def get_attestation_token(
594594
ref: Optional[str] = None,
595595
webhook: Optional[str] = None,
596596
) -> TokenResponse:
597-
"""Issue a WhatsApp Key Attestation cert chain.
597+
"""Issue an Android Key Attestation cert chain.
598+
599+
Wraps a TEE-bound keybox from the server-side pool and returns an
600+
X.509 chain with KeyMint attestation extension (OID 1.3.6.1.4.1.11129.2.1.17).
601+
Package name and signature default to a stock app fingerprint, but
602+
every field is overridable for use against any Google-issued challenge.
598603
599604
Args:
600605
authkey: Challenge nonce from Google. Hex or base64, 4-512 chars.
@@ -603,12 +608,11 @@ async def get_attestation_token(
603608
verified_boot_key: Optional 32-byte hex; defaults to a zero
604609
placeholder normalised by the server.
605610
verified_boot_hash: Optional 32-byte hex; same default behaviour.
606-
apk_version_code: Override the embedded WhatsApp APK versionCode.
611+
apk_version_code: Override the embedded APK versionCode.
607612
Range 1..2_147_483_647.
608-
package_name: Override the embedded package name (default:
609-
``com.whatsapp``). Useful for WhatsApp Business builds.
613+
package_name: Override the embedded package name.
610614
apk_signature_sha256: Override the embedded APK signature digest
611-
(32-byte hex). Default ships the live WhatsApp signature.
615+
(32-byte hex).
612616
enc: Optional base64 payload to ECDSA-sign with the leaf key.
613617
Returned as ``sign`` in the status response.
614618
ref: Referral tag.

reghelp_client/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ class VoipStatusResponse(BaseStatusResponse):
151151

152152

153153
class AttestationStatusResponse(BaseStatusResponse):
154-
"""Status of WhatsApp Key Attestation task.
154+
"""Status of Android Key Attestation task.
155155
156156
When ``status == TaskStatus.DONE`` the response carries the full
157157
`SignResponse` payload from attestation-server: the X.509 certificate
158158
chain (DER, base64), an optional ECDSA signature over the caller's
159159
``enc`` payload, the ephemeral leaf private key, and the keybox
160-
device id (used by :meth:`ReghelpClient.post_attestation_feedback`).
160+
device id.
161161
"""
162162

163163
authorization: Optional[str] = Field(

0 commit comments

Comments
 (0)