关于调用支付宝密钥出现的报错问题 Not a valid PEM post boundary

发布时间 2023-07-18 21:32:27作者: ranbo145

在项目的支付模块中我配置了settings.py文件

import os
# 应用私钥
APP_PRIVATE_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'app_private_key.pem')).read()
# 支付宝公钥
ALIPAY_PUBLIC_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'alipay_public_key.pem')).read()
# 应用ID
APP_ID = '9021000123607737'

# 加密方式
SIGN = 'RSA2'

# 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
DEBUG = True

# 支付网关
GATEWAY = 'https://openapi-sandbox.dl.alipaydev.com/gateway.do?' if DEBUG else 'https://openapi.alipay.com/gateway.do?'

然后在同级创建了一个文件夹来分别存放公钥和私钥

但是启动django并不能启动成功

后来经过查找是因为存在本地的公钥和私钥是以txt的形式存储的

txt格式进行了自动换行 以这种形式存储容易出现未被识别出的空格

所以导致了报错的产生

解决方法为取消掉txt文本的自动换行