- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
public KeyPair generateKeyPair(@NonNull Context context, @NonNull String alias) {
Calendar startDate = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.YEAR, 1);
KeyPairGenerator keyPairGenerator;
try {
keyPairGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
AlgorithmParameterSpec spec;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
spec = new KeyGenParameterSpec.Builder(alias, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
.setCertificateNotBefore(startDate.getTime())
.setCertificateNotAfter(endDate.getTime())
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)
.setDigests(KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA512)
.build();
} else {
spec = new KeyPairGeneratorSpec.Builder(context)
.setAlias(alias)
.setSubject(new X500Principal("CN=fake"))
.setSerialNumber(BigInteger.ONE)
.setStartDate(startDate.getTime())
.setEndDate(endDate.getTime())
.build();
}
keyPairGenerator.initialize(spec);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return keyPairGenerator.generateKeyPair();
}
我知道 privateKey.getEncoded 可以为空,但如何获取 privateKey base64 值?
最佳答案
如果您使用的是基于硬件加密设备的提供程序 AndroidKeyStore
它已被设置为不在其外部发布私钥。因此,私钥上的 Key.getEncoded()
实际上可能会返回 null。更多详情 here
关于android - 为什么 KeyPair.getPrivate().getEncoded() 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41219011/
我有一个基于 C# 表单的程序并且一直在使用 System.Text.Encoding.GetEncoding(1252) 但我发现我在阅读非英文字符时遇到了困难 System.Text.Encodi
是否返回 DER encoded数据,还是其他格式? Javadoc我已经找到了一些细节方面有待改进的地方...... 最佳答案 至少对于 v1.52, org.bouncycastle.pkcs.P
我有一个使用 PBE 生成 key 的函数,我在网上搜索并找到了以下代码。 class PBE{ public PBE(String pw) { this.password =
我想从 OpenSSL 获得与 Java PublicKey.getEncoded() 相同的 ASN.1 输出。我使用 EC,曲线类型是 prime256v1。这是我的 OpenSSL 代码: EC
本文整理了Java中org.bouncycastle.cert.X509CRLHolder.getEncoded()方法的一些代码示例,展示了X509CRLHolder.getEncoded()的具体
我有以下测试程序 char c = '§'; Debug.WriteLine("c: " + (int)c); byte b = Encoding.GetEncoding(437).GetBytes(
public KeyPair generateKeyPair(@NonNull Context context, @NonNull String alias) { Calendar start
我需要为本地字符编码一些文本文件。 在我的 Windows 8.1 商店应用程序中,我可以正常使用 Encoding.GetEncoding() 方法: Encoding.GetEncoding("w
我有以下测试程序 char c = '§'; Debug.WriteLine("c: " + (int)c); byte b = Encoding.GetEncoding(437).GetBytes(
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.getEncoding()方法的一些代码示例,展示了XMLRoot.getEncoding()的具体用法。这
本文整理了Java中org.eclipse.persistence.oxm.XMLMarshaller.getEncoding()方法的一些代码示例,展示了XMLMarshaller.getEncod
我有一个函数可以使用指定的编码将字节数组解码为字符串。 例子: Function Decode(ByVal bytes() As Byte, ByVal codePage As String) As
我正在寻找与 Delphi7 中使用的 .Net Encoding.GetEncoding 方法等效的 Win32。 我想要实现的是将代码页 ID(即:28592)转换为代码页名称(在本例中为 iso
我希望在以下 python session 中 getencoding 的输出是“ISO-8859-1”: >>> import urllib2 >>> response = urllib2.urlo
如何使用 OpenSSL 在 C 语言中获得与 getEncoded() 方法产生的结果相同的结果?它是 Diffie-Hellman key 协议(protocol)所必需的,我必须将我的公钥发送到
我使用以下代码生成 AES key : KeyGenParameterSpec.Builder builder = new KeyGenParameterSpec.Builder("db_enc_ke
本文整理了Java中org.teiid.query.sql.symbol.XMLSerialize.getEncoding()方法的一些代码示例,展示了XMLSerialize.getEncoding
据我了解documentation应该可以通过服务“Windows-MY”访问Microsoft Windows KeyStore。 当我从 keyStore 加载 PrivateKey 时,我得到
我正在试验 key 派生函数,我注意到我通过所有 PBE 算法生成的 key 编码为纯文本密码。 我的意思是: public class Main { public static void m
我想从 COM6 获取设备的代码,我可以使用下面的代码轻松地从 C# 获取输出: serialPort1.Encoding = System.Text.Encoding.GetEncoding(285
我是一名优秀的程序员,十分优秀!