Python中的SSO Cookie加密

2024-04-24 08:20:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在单独的服务器(由其他公司运行)上生成authenticate a user:

https://www.example.com(我的网站)
https://forums.example.com(公司运行的论坛实例)

要执行此身份验证,他们可以使用以下选项接受加密的SSO Cookie:

  • Cookie名称:测试
  • 编码:

    Base64
    网址
  • 加密算法:
    不良事件
    RSA
  • 密码:
    AES/CBC/无添加
    AES/CBC/PKCS7填充
    AES/CBC/PKCS5添加
    RSA/ECB/PKCS1添加
  • 解密Cookie的密钥:
    上传文件(私有_密钥.pem)在
  • 处理字节数组后的块大小:
  • 数据类型:
    普通
    json
    xml

我在没有加密的情况下测试了这个实现,所以我知道问题不是JSON而是加密。我尝试过几次加密cookie并将其传递出去,但是无论实现的是什么,论坛站点都无法解密cookie。我现在得到的是:

from Crypto.Cipher import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64

def login(request):
    key = RSA.generate(2048)
    pubKey = key.publickey()
    privKey = key.exportKey('PEM') // save into private_key.pem and uploaded

    msg = '{"id": 1, "user": "jdoe"}'

    cipher = PKCS1_v1_5.new(pubKey)
    emsg = base64.b64encode(cipher.encrypt(msg))

    response = redirect("https://forum.example.com")

    response.set_cookie("test", emsg, secure=True, httponly=True, domain="example.com")

    return response

Tags: keyhttpsimportcomexamplecookieresponse公司