46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
import base64
|
|||
|
|
import os
|
||
|
|
import django
|
||
|
|
from Crypto.Cipher import PKCS1_OAEP, PKCS1_v1_5
|
||
|
|
|
||
|
|
from sixGuoDjango.settings import base_dir_name
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
os.environ.setdefault( key="DJANGO_SETTINGS_MODULE", value=f"{base_dir_name}.settings" )
|
||
|
|
django.setup( )
|
||
|
|
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
from Crypto.PublicKey import RSA
|
||
|
|
from django.conf import settings
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
def jwt_rsa_证书创建( ):
|
||
|
|
# 生成2048位密钥对
|
||
|
|
key = RSA.generate( bits=2048 )
|
||
|
|
#
|
||
|
|
# 导出私钥(PEM格式)
|
||
|
|
private_key = key.export_key( passphrase=settings.SECRET_KEY )
|
||
|
|
# print( "私钥:\n", private_key.decode( ) )
|
||
|
|
|
||
|
|
# 导出公钥(PEM格式)
|
||
|
|
public_key = key.publickey( ).export_key( )
|
||
|
|
|
||
|
|
Path( settings.BASE_DIR ).joinpath( "django_jwt_token/private.pem" ).write_bytes( data=private_key )
|
||
|
|
Path( settings.BASE_DIR ).joinpath( "django_jwt_token/public.pem" ).write_bytes( data=public_key )
|
||
|
|
|
||
|
|
print( "证书创建成功了" )
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
# 这里写你的主程序代码
|
||
|
|
pass
|
||
|
|
jwt_rsa_证书创建( )
|