Python 中的 SSLSocket 密码/密码

2023-11-23

我最近一直在考虑为我的一个应用程序制作 iOS 推送通知服务。它有一个 Python 2.7 后端,所以我想用 Python 而不是 PHP(或其他任何东西)来完成它。

我有发送通知并且设备接收通知的代码,但是每次运行该代码时,它都会要求我手动输入 PEM 文件的“密码短语”。

这并不理想,因为我希望这在服务器上全部自动化,当它需要发送通知时,它应该只发送它。我在 Python 2.7 的文档中找不到任何允许我在连接时自动从变量设置密码的内容。

如果有人知道如何在 Python 2.7 中做到这一点或任何其他想法,我将非常感激。

这是一段代码:

certfile = 'devPEM.pem'
apns_address = ('gateway.sandbox.push.apple.com', 2195)

s = socket.socket()
sock = ssl.wrap_socket(s, ssl_version=ssl.PROTOCOL_SSLv3, certfile=certfile)
sock.connect(apns_address)

提前致谢。


因此,BorrajaX 建议的答案是在出现提示时不要为密钥设置密码。然而这是不可能的,因为(至少在我的 Mac 上)希望密码至少为 4 个字符。

解决此问题的步骤是:

  1. 在开发者门户中创建证书。
  2. 在“钥匙串访问”中本地下载并打开证书
  3. 从 Keychain Access 将证书的私钥导出为 .p12 文件(我将其命名为 aps_key.p12)。
  4. 在 .p12 密钥上运行以下命令:
    openssl pkcs12 -nocerts -out aps_key.pem -in aps_key.p12
  5. 输入密码(我们将在一分钟内删除该密码)。
  6. 运行以下命令来删除密码:
    openssl rsa -in aps_key.pem -out new_aps_key.pem
  7. 将开发者中心下载的.cer转换为.pem文件:
    openssl x509 -in aps.cer -inform der -out aps.pem
  8. 将密钥和证书 .pem 文件与以下内容合并:
    cat aps.pem new_aps_key.pem > final_aps.pem
  9. 您现在可以删除所有其他文件,除了final_aps.pem.

The final_aps.pem然后,文件将使用上面的代码,而不会提示输入密码/密码短语。

这是一个有用的网站,我在其中找到了从 .pem 文件中删除密码的代码:http://www.sslshopper.com/article-most-common-openssl-commands.html

编辑:如果您不需要证书和密钥位于同一文件中,则可以忽略步骤 8 并使用aps.pem and new_aps_key.pem files.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的 SSLSocket 密码/密码 的相关文章

  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • Python 中的流式传输管道

    我正在尝试使用 Python 将 vmstat 的输出转换为 CSV 文件 因此我使用类似的方法转换为 CSV 并将日期和时间添加为列 vmstat 5 python myscript py gt gt vmstat log 我遇到的问题是
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • 在 Django OAuth Toolkit 中安全创建新应用程序

    如何将 IsAdminUser 权限添加到 Django OAuth Toolkit 中的 o applications 视图 REST FRAMEWORK DEFAULT PERMISSION CLASSES rest framework
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • WKWebView:无需 Javascript 即可缩放PageToFit 行为

    如何获得scalesPageToFit显示在 HTML 内容中的行为WKWebView 不使用 JavaScript 在我们的例子中需要禁用 JS 抱歉没有发布任何代码 但我不知道如何实现这一目标 我所知道的和我找到的所有解决方案都是基于J
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate() ?

    我正在尝试计算玩家每周玩游戏的次数 如下所示 player game objects extra select week WEEK games game date aggregate count Count week 但姜戈抱怨说 Fiel
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这

随机推荐

  • 汇编语言 - 如何进行取模?

    x86 汇编中是否有类似模运算符或指令之类的东西 如果您的模数 除数是已知常数 并且您关心性能 请参阅this and this 对于直到运行时才知道的循环不变值 乘法逆甚至是可能的 例如看https libdivide com 但是如果没
  • 展开 折叠 展开 JTree 延迟加载的问题

    我已经使用延迟加载实现了一棵树 第一级节点是在创建树时创建的 而子节点仅在用户展开任何特定节点时创建 数据来自数据库 我们向数据库发出查询以填充子节点 实现了 TreeExpansionListener 并使用 treeExpanded 方
  • boost asio异步等待条件变量

    是否可以对 boost asio 中的条件变量执行异步等待 读取 非阻塞 如果不直接支持任何有关实现的提示 我们将不胜感激 我可以实现一个计时器 甚至每隔几毫秒就触发一次唤醒 但这种方法要差得多 我发现很难相信条件变量同步没有实现 记录 如
  • 正确地将 DateTime 从 C# 插入到 mongodb

    我尝试在 MongoDB 中插入当地时间 var time DateTime Now 03 05 2014 18 30 30 var query new QueryDocument time nowTime collection3 Inse
  • 为什么要使用 urlencode?

    我正在编写一个 Web 应用程序并学习如何对 html 链接进行 urlencode 这里的所有 urlencode 问题 参见下面的标签 都是 如何 问题 我的问题不是 如何 但为什么 即使维基百科的文章也只讨论了它的机制 http en
  • 移动 NumPy 数组中的所有索引

    我有一个像这样的 numpy 数组 x np array 0 1 2 3 4 想要创建一个数组 其中索引 0 中的值位于索引 1 中 索引 1 中的值位于索引 2 中 依此类推 我想要的输出是 y np array 0 0 1 2 3 我猜
  • 在命令行中制作java包

    虽然它可能是推荐使用的 IDE 来编码高级 java 项目 但我个人更喜欢几乎完全运行命令行 使用 gedit 作为文本编辑器 所以请不要只是告诉我 就用 eclipse 吧 或其他什么 P 我的问题是在java中通过命令创建包的方法是什么
  • 使用 group by 进行 SQL 连接的 HQL 版本

    我有两张表 Band 和 Votes Band 有一个名称和一个 id Votes 有一个 Total votes 列和一个名为 band id 的外键 该外键指向 band id 我有很多选票 在不同日期保存 我想要做的是找到每个频段的
  • 如何使用 readline 支持重新安装 ruby​​?

    我已经按照 RVM 的说明安装了 Rubyhttps github com wayneeseguin rvm installation 作为信息 我有所有档案 readline 5 2 tar gz readline 6 2 tar gz
  • 在 java eclipse 控制台中更改颜色

    有没有办法改变eclipse控制台中的文本颜色 我不是在谈论当我进入选项并将颜色从黑色更改为红色时 我的意思是 就像当我启动程序并执行代码时 它会在某个时刻改变颜色 例如 code if a 2 change text color to r
  • SimpleCov 报告使用 Spork 运行 RSpec 测试后未在 Rails 3 应用程序中生成

    我刚刚安装了简单冠状病毒gem 在我的 Rails 3 2 6 应用程序上生成代码覆盖率报告 它与 RSpec 配合得很好 但与 Spork 配合不好 我可以通过运行获得所需的正确报告rspec no drb spec 但我也想让它们与 S
  • 没有删除语句的 MySQL 复制

    我一直在寻找一种方法来防止MySQL删除语句被从站处理 我正在从事数据仓库项目 我想在将数据复制到从站后从生产服务器中删除数据 完成这件事的最佳方法是什么 谢谢 做这件事有很多种方法 Run SET SQL LOG BIN 0 在执行删除之
  • 如何交错流(带背压)

    假设我有两个可能无限的流 s1 a b c d e s2 1 2 3 4 5 6 7 我想要merge流 然后使用缓慢的异步操作映射合并流 例如 在 Bacon 中 fromPromise and flatMapConcat 我可以将它们与
  • 服务器端多次TIME_WAIT的代价是多少?

    假设有一个客户端与服务器建立了大量短期连接 如果客户端关闭连接 会出现很多端口TIME WAIT在客户端声明 由于客户端耗尽了本地端口 因此无法快速尝试新的连接 如果服务器关闭连接 我会看到很多TIME WAIT在服务器端 然而 这有什么坏
  • SQL 在 WHERE 子句中合并

    我正在尝试在我拥有的存储过程中实现可选参数 但遇到了问题 这是一个简化的查询来说明该问题 SET ANSI NULLS OFF DECLARE MiddleName VARCHAR 20 SET MiddleName NULL SELECT
  • NumberFormat 解析不够严格

    我有一个JFormattedTextField with a NumberFormat与 Locale US 因此小数点分隔符是点 分组分隔符是逗号 现在 我在此文本字段中键入字符串 1 23 并将焦点移至另一个组件 我希望该字符串会消失
  • Hibernate 升级:StatisticsService()

    我正在将 hibernate 从 3 6 升级到 4 3 5 更换后 jar文件和一些已弃用的包 类以及基本数据类型我仍然遇到一些错误StatisticsService 在org hibernate jmx包裹 错误如下 1 error p
  • Ruby on Rails:在布局中的特定位置生成特定视图

    如果我有一个标记 然后我的所有视图都会呈现在布局中的同一位置 我可以有不同的吗不同视图的标签 那我该怎么办呢 谢谢 调查ActionView Helpers CaptureHelper 您可以在您的视图中执行以下操作 这将在 content
  • 复制 QTableView 的一部分

    因此 我有一个问题与我在这里看到的另一个问题非常密切相关 但当我尝试在那里提出我的问题时 我没有得到答复 我希望通过提出这个新问题 有人可以帮助我 基本上我只想复制我创建的表格的一部分 以便我可以将其粘贴到 Excel 文件中 这是我所拥有
  • Python 中的 SSLSocket 密码/密码

    我最近一直在考虑为我的一个应用程序制作 iOS 推送通知服务 它有一个 Python 2 7 后端 所以我想用 Python 而不是 PHP 或其他任何东西 来完成它 我有发送通知并且设备接收通知的代码 但是每次运行该代码时 它都会要求我手