uni-app中plus.navigator.getSignature()获取的不是自己的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app中plus.navigator.getSignature()获取的不是自己的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58

操作步骤:

let platform = uni.getSystemInfoSync().platform; console.log( “platform”, platform, plus.navigator.getSignature() ) let sign = plus.navigator.getSignature(); if( ‘android’ === platform ){ //Android平台 var sha1 = this.$AES.Decrypt( c.s ); if( sha1 !== sign ){ // plus.runtime.quit(); }; }else{ //iOS平台 var md5 = this.$AES.Decrypt( c.m ); if( md5 !== sign ){ uni.showModal( { title:‘错误’, content: ‘应用被破坏,无法正常运行!’ } ); }; };


# 预期结果:

let platform = uni.getSystemInfoSync().platform;
console.log( "platform", platform, plus.navigator.getSignature() )
let sign = plus.navigator.getSignature();
if( 'android' === platform ){   //Android平台
var sha1 = this.$AES.Decrypt( c.s );
if( sha1 !== sign ){
// plus.runtime.quit();
};
}else{    //iOS平台
var md5 = this.$AES.Decrypt( c.m );
if( md5 !== sign ){
uni.showModal( { title:'错误', content: '应用被破坏,无法正常运行!' } );
};
};

实际结果:

baad093a82829fb432a7b28cb4ccf0e9f37dae58


# bug描述:

plus.navigator.getSignature() 获取不到自己的sha1值。返回的一直是 baad093a82829fb432a7b28cb4ccf0e9f37dae58 示例值  

6 回复

刚测试了,没问题啊 证书你是用的自己的么


后面测试了下,用的云端证书。获取的一直都是示例值,您那边是咋弄的?

回复 n***@outlook.com: 使用自有证书

回复 套马杆的套子: 1

那可能就是证书的问题了,这话点醒了我。谢谢哈~

uni-app 中使用 plus.navigator.getSignature() 方法时,如果获取到的签名值不是你自己应用的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58,这通常意味着你的应用没有正确配置签名信息,或者 uni-app 在调试模式下使用了默认的签名值。

可能的原因和解决方法:

  1. 调试模式下的默认签名

    • uni-app 的调试模式下,plus.navigator.getSignature() 可能会返回一个默认的签名值,而不是你应用的真实签名。这是为了方便开发和调试。
    • 解决方法:确保你在发布模式下运行应用,或者使用真机调试,而不是在模拟器或调试模式下运行。
  2. 未正确配置签名

    • 如果你在发布应用时没有正确配置签名信息,plus.navigator.getSignature() 可能会返回默认值。
    • 解决方法:确保你在打包应用时正确配置了签名信息。对于 Android 应用,你需要在 manifest.json 中配置 signature 字段,或者使用 HBuilderX 的打包功能时正确配置签名文件。
  3. 签名文件未正确生成或使用

    • 如果你使用了自定义的签名文件,但签名文件未正确生成或未在打包时使用,plus.navigator.getSignature() 可能会返回默认值。
    • 解决方法:确保你生成了正确的签名文件,并在打包时正确使用了该文件。
  4. 检查 manifest.json 配置

    • manifest.json 中,确保你正确配置了 signature 字段。例如:
      {
        "app-plus": {
          "distribute": {
            "android": {
              "signature": "your_signature_value"
            }
          }
        }
      }
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!