diff --git a/pyproject.toml b/pyproject.toml index aea149b..3fbd142 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "chat-sdk" -version = "0.0.1a1" +version = "0.0.1a2" description = "Multi-platform async chat SDK for Python — port of Vercel Chat" readme = "README.md" license = {text = "MIT"} diff --git a/src/chat_sdk/adapters/slack/crypto.py b/src/chat_sdk/adapters/slack/crypto.py index 8c5bc9c..67c5a1f 100644 --- a/src/chat_sdk/adapters/slack/crypto.py +++ b/src/chat_sdk/adapters/slack/crypto.py @@ -10,8 +10,6 @@ from dataclasses import dataclass from typing import Any -from cryptography.hazmat.primitives.ciphers.aead import AESGCM - ALGORITHM = "aes-256-gcm" IV_LENGTH = 12 AUTH_TAG_LENGTH = 16 @@ -39,6 +37,8 @@ def encrypt_token(plaintext: str, key: bytes) -> EncryptedTokenData: """ import base64 + from cryptography.hazmat.primitives.ciphers.aead import AESGCM + iv = os.urandom(IV_LENGTH) aesgcm = AESGCM(key) # AESGCM.encrypt returns ciphertext + tag concatenated @@ -66,6 +66,8 @@ def decrypt_token(encrypted: EncryptedTokenData, key: bytes) -> str: """ import base64 + from cryptography.hazmat.primitives.ciphers.aead import AESGCM + iv = base64.b64decode(encrypted.iv) ciphertext = base64.b64decode(encrypted.data) tag = base64.b64decode(encrypted.tag)