首页 > 其他分享 >对jks签名文件进行Base64编码

对jks签名文件进行Base64编码

时间:2023-06-02 17:35:30浏览次数:48  
标签:secrets Base64 jks ALIAS 签名文件 KEY PASSWORD properties

使用Github Actions构建Android项目需要签名,而jks文件又无法私密保存,故可以将其转为base64格式再设置安全变量 ( https://github.com/{...}/settings/secrets/actions )

openssl base64 &lt; key.jks | tr -d '\r\n' | tee key.jks.base64.txt</p>

.github\workflows\release.yml:

- name: Init Signature
        run: |
          touch local.properties
          echo ALIAS_NAME='${{ secrets.ALIAS_NAME }}' >> local.properties
          echo ALIAS_PASSWORD='${{ secrets.ALIAS_PASSWORD }}' >> local.properties
          echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> local.properties
          echo KEY_PATH='./key.jks' >> local.properties
          # 从Secrets读取无换行符Base64解码, 然后保存到到app/key.jks
          echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/app/key.jks

build.gralde (:app):

 signingConfigs {
        release {
            //签名文件 从local.properties取值
            Properties pro = new Properties()
            InputStream input = project.rootProject.file("local.properties").newDataInputStream()
            pro.load(input)
            storeFile file(pro.getProperty("KEY_PATH"))
            storePassword pro.getProperty("KEY_PASSWORD")
            keyAlias pro.getProperty("ALIAS_NAME")
            keyPassword pro.getProperty("ALIAS_PASSWORD")
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

        debug {
            signingConfig signingConfigs.release
            applicationIdSuffix ".debug"
            versionNameSuffix "_debug"
        }
    }

设置Github Actions安全变量:

前往地址: https://github.com/ {user/project} /settings/secrets/actions

分别添加如下四个变量 (Repository secrets):
ALIAS_NAME 别名
ALIAS_PASSWORD别名密码
KEY_PASSWORD 密码
KEY_STORE 前面生成的base64.jks

参考Github项目地址:https://github.com/jing332/tts-server-android/blob/master/.github/workflows/release.yml

标签:secrets,Base64,jks,ALIAS,签名文件,KEY,PASSWORD,properties
From: https://www.cnblogs.com/jing332/p/17452492.html

相关文章

  • Base64学习理解
    Base64是用64个可打印的字符来描述数据的编码方式为什么要整这个Base64呢,那是因为有的时候我们需要以可打印的字符串的形式传递数据,比如url传递之类的假设有个4字节的数据[97,32,245,0],我们要把它转成可打印的字符串的形式,首先不能直接把它转成字符串,因为ASCII中有不可打印......
  • Linux base64命令
    Linux常用命令base64命令用于编码/解码文件或标准输入输出用例:[root@localhost~]#echotest|base64#加密dGVzdAo=[root@localhost~]#echodGVzdAo=|base64-d#解密test ......
  • python dijkstra 最短路算法示意代码
     defdijkstra(graph,from_node,to_node):q,seen=[(0,from_node,[])],set()whileq:cost,node,path=heappop(q)seen.add(node)path=path+[node]ifnode==to_node:returncost,pathfora......
  • Linux shell command base64 All In One
    Linuxshellcommandbase64AllInOneemailaddressencryption/邮箱地址加密应用场景防止爬虫爬取邮箱地址发送垃圾邮件base64encode&decode$base64--versionbase64(GNUcoreutils)8.32Copyright(C)2020FreeSoftwareFoundation,Inc.许可证GPLv3+:GNU......
  • Python 读取图片 转 base64 并生成 JSON
    Python读取图片转base64并生成JSONimportjsonimportbase64img_path=r'D:\OpenSource\PaddlePaddle\PaddleOCR\images\005.jpeg';withopen(img_path,'rb')asfile:image_data1=file.read()image=base64.b64encode(image_data1).de......
  • Python 标准类库-因特网数据处理之Base64数据编码
    该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为RFC3548中指定的编码提供编码和解码功能。定义了Base16、Base32和Base64算法,以及事实上的标准Ascii85和Base85编码。RFC3548编码适用于对二进制数据进行编码,以便可以安全地通过电子邮件......
  • drf全局异常处理,接口文档,jwt介绍和原理,base64编码和解码
    drf全局异常处理:只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handlersetting:REST_FRAMEWORK={'EXCEPTION_HANDLER':'app01.exception.commn_exception_handler',#导入自己写的异常类的路径}......
  • 全局异常处理,接口文档,JWT,base64编码解码
    1全局异常处理#对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理{code:999,msg:'系统异常,请联系系统管理员'}#只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handler###注意:exception_handler#如果异常对象是......
  • Python图片与Base64相互转换
    importbase64#必须的pic=open("img.png","rb")#读取本地文件pic_base=base64.b64encode(pic.read())#本地文件转Base64数据,此时会出现编码带b'' 的情况pic_base=pic_base.decode('utf-8')#修正格式pic.close()#关闭importbase64pic=open("img.png&q......
  • 调用EasyCVR平台base64编码接口转换图片,格式出现异常是什么原因?
    EasyCVR视频融合平台基于云边端智能协同架构,具有强大的设备接入、视频汇聚管理、全网分发、按需调阅、鉴权播放、智能分析等视频能力与服务。平台开放度高、兼容性强、可支持灵活拓展与第三方集成。有用户反馈,获取通道实时快照的返回结果,放到在线转换为图片的工具中出现了转换失......