签名

可执行文件签名:

codesign -f -s ${证书ID} --timestamp ${签名文件}

.Pkg安装文件签名:

productsign --timestamp --sign ${证书ID} ${.pkg签名文件} ${.pkg签名后文件}

公证

新闻:苹果强制启用公证

2020年2月3日起,Mac App Store 以外通过其他途径分发的 Mac 软件必须经过 Apple 公证,才能在 macOS Catalina 中运行

公证命令

xcrun altool --notarize-app --primary-bundle-id ${AppBundleID 唯一标识} --username ${AppleID} --asc-provider ${证书提供者} --password ${应用公证专用密码} --file ${公证文件}

asc-provider:证书提供者,查询命令如下:

xcrun altool --list-providers -u  ${AppleID} -p ${应用公证专用密码}

问题1: The executable does not have the hardened runtime enabled

在公证后的报告中,遇到"message": "The executable does not have the hardened runtime enabled."错误是因为编译的时候没有开启hardened runtime导致的,可以采用codesign --options runtime --entitlements ${path}/app.entitlements解决,其中app.entitlements内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

参考文章

[1] Mac notarizing 公证使用记录

[2] Mac app 打包时 Notarizition(公证)相关需求记录

[3] Mac开发-公证流程记录Notarizaiton-附带脚本

[4] Mac Electron 应用的签名(signature)和公证(notarization)

macOS开发应用Sign(签名)和Notarizaiton(公证)的更多相关文章

  1. APP开放接口API安全性——Token令牌Sign签名的设计与实现

    在APP开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议.https是在http超文本传输协议加入SSL层,它在网络间通信是加密 ...

  2. API:Sign签名的执行流程

    Sign签名存在目的:为了防止不法分子修改参数数据,进而攻击服务器,导致数据泄露或从中获得利益    例如:一个接口是用户把积分转帐给他的朋友,修改后,变为转帐到攻击者的帐户,这样,攻击者就能得到利益 ...

  3. python笔记44-HTTP对外接口sign签名

    前言 一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求. sign签名是一种很常见的方式 sign签名 签名参数sign ...

  4. python接口自动化:对外接口sign签名

    签名参数sign生成的方法: 在接口开发过程中,一般通过时间戳+sign作为密匙加密传输 实现代码如下: #python实现sign签名 import hashlib,time class sign: ...

  5. Python-实现sign签名接口校

    前言 在之前的随笔中,我们已经学过了如何使用使用JMeter和Postman实现sign签名接口校验的接口测试,今天我们来学习一下如何写Python脚本实现签名接口的接口测试. 签名接口: 地址: h ...

  6. 接口鉴权,提供给第三方调用的接口,进行sign签名

    //场景:公司要跟第三方公司合作,提供接口给对方对接,这样需要对接口进行授权,不然任何人都可以调我们公司的接口,会导致安全隐患: 思路: 在每个接口请求参数都带上ApiKey 和sign签名: 我们在 ...

  7. 接口鉴权之sign签名校验与JWT验证

    需求描述: 项目里的几个Webapi接口需要进行鉴权,同接口可被小程序或网页调用,小程序里没有用户登录的概念,网页里有用户登录的概念,对于调用方来源是小程序的情况下进行放权,其他情况下需要有身份验证. ...

  8. 对飞猪H5端API接口sign签名逆向实验

    免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者 ...

  9. 【iOS逆向】某车之家sign签名分析

    阅读此文档的过程中遇到任何问题,请关注公众号[移动端Android和iOS开发技术分享]或加QQ群[309580013] 1.目标 分析某车之家sign签名算法的实现 2.操作环境 frida mac ...

  10. 【接口安全】接口合法性验证加密验签SIGN 签名规则

    在对接API接口时,接口地址和参数结构都很容易被黑客抓包,从而模拟发送请求. 考虑到安全性,防止别人冒名调用,要对接口请求进行合法性验证. 基本原理如下 双方约定 APPID:参与签名和网络传输 AP ...

随机推荐

  1. Vue3学习笔记(1)

    安装 //使用yarn构建 //安装yarn 需要管理员权限 sudo npm i yarn -g yarn create vite cd .. yarn yarn dev 目录结构 见名知义 四种语 ...

  2. 各种工具点评以供选择使用 + 开发工具秘籍(git, webpack。。。。)

    git最佳实践: https://gist.github.com/fandean/ca29cd2f326f66c659951d7ab356cefb ========================== ...

  3. 分布式锁 -- redis

    原理 redis设置一个key和value,如果存在则获取锁失败,不存在则获取锁成功处理业务,业务处理完成后删除这条数据,可以带个失效时间. 代码 public void handleInvoice( ...

  4. SDM

    SDM:sigma delta Modulator SC:switch capacitor(开关电容) sigma delta调制器的分类 •单环路和级联(cascade)SDM:在于使用的量化器的数 ...

  5. (一)从路由器和IP地址开始折腾

    我们应当知道的一点是,由于IP地址只有32bit, 所以很快就面临着不够用的情况,现在之所以大家还在正常使用IPv4, 就是因为采用了公有地址和私有地址的概念:所谓的私有地址是从当时公有地址中还没有分 ...

  6. linux运维之道学习笔记

    linux常用命令 1.find命令 find / "*.log" 查找/目录下.log结尾的档案 find / -mtime -3 查找/目录下三天内被修改的档案 find / ...

  7. uniapp 中获取微信小程序的原生导航栏高度

    const custom = wx.getMenuButtonBoundingClientRect() // console.log(custom) that.yuansheng= custom.he ...

  8. bash脚本的判断语句之一

    开始学习bash的"编程"操作. 其实严格来说,这个脚本语言的语法是比较古老和特殊的,有很多不符合中国人习惯的东西. 因为在中国人的世界里,电脑键盘上面的使用shift才能输出来的 ...

  9. 一键部署redis-5.0.5

    #!/bin/bash echo "-------------------------------------" echo -e "\e[1;33m 下面开始部署redi ...

  10. iphone tabbar问题

    适配新款苹果底部tabbar,网上找了代码,不能用.翻出苹果各型号尺寸发现找的代码稍微有点问题.自己改了下. 关键的判断在于window.screen.height > 800这是区分带tabb ...