我最近将我的应用程序上传到了Android市场,但是由于错误而下载时它拒绝运行
包文件未正确签名
我首先使用eclipse发布数据包,右键单击导出,创建一个密钥库然后发布,但它拒绝工作.
然后我下载了keytool和jarsigner并用它来签署我发布的升级版.但是这会产生同样的错误.
我不知道我做错了什么,因为我无法删除应用程序,我无法尝试重新开始,任何人都可以帮助我吗?
谢谢
在Java中,我有一个ECDH公钥,我将其作为字节数组发送.
收到字节数组后,如何将其重新转换为公钥?
我正在使用Bouncy Castle,但Java解决方案同样有用.
谢谢
我正在寻找一种满足以下规则的加密算法:
E(key1,E(key2,Message))= E(key2,E(key1,Message))
对于解密来说显然也是一样的.
这可能是一个很长的镜头,因为我怀疑这样的算法存在,但认为值得问.
谢谢
我正在尝试使用BouncyCastle和android来实现ECDH和EL Gamal.我已经添加了bouncycastle jar文件(bcprov-jdk16-144.jar)并编写了一些与我的计算机jvm一起使用的代码,但是当我尝试将它移植到我的Android应用程序时它抛出:
java.security.NoSuchAlgorithmException: KeyPairGenerator ECDH implementation not found
Run Code Online (Sandbox Code Playgroud)
代码示例如下:
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
java.security.KeyPairGenerator keyGen = org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator.getInstance("ECDH", "BC");
ECGenParameterSpec ecSpec = new ECGenParameterSpec("prime192v1");
keyGen.initialize(ecSpec, SecureRandom.getInstance("SHA1PRNG"));
KeyPair pair = keyGen.generateKeyPair();
PublicKey pubk = pair.getPublic();
PrivateKey prik = pair.getPrivate();
Run Code Online (Sandbox Code Playgroud)
然后我编写了一个简单的程序来查看可用的加密算法并在我的android模拟器和我的计算机上运行它jvm代码是:
Set<Provider.Service> rar = new org.bouncycastle.jce.provider.BouncyCastleProvider().getServices();
Iterator<Provider.Service> ir = rar.iterator();
while(ir.hasNext())
System.out.println(ir.next().getAlgorithm());
Run Code Online (Sandbox Code Playgroud)
在Android上我没有得到任何EC算法,而在我的计算机上正常运行它没关系.
在编译很多充气城堡类时,我也遇到以下两个错误:
01-07 17:17:42.548:INFO/dalvikvm(1054):DexOpt:没有解决模棱两可的类'Lorg/bouncycastle/asn1/ASN1Encodable;'
01-07 17:17:42.548:DEBUG/dalvikvm(1054):DexOpt:未验证'Lorg/bouncycastle/asn1/ess/OtherSigningCertificate;':多个定义
我究竟做错了什么?
encryption ×3
android ×2
bouncycastle ×2
cryptography ×1
google-play ×1
jarsigner ×1
java ×1
keytool ×1