问题标签 [key-pair]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 android KeyStore 中生成 KeyPair,受自定义密码保护
我有使用指纹和 4 位密码(可由用户在应用程序设置中设置,这不是系统密码/模式/密码)授权的应用程序。
使用指纹一切都很好,我的密码有问题。
我想做的是:
- 让用户从应用程序设置中设置 pin
- 在密钥库中为某些受输入的 pin 保护的别名生成密钥对(这样,没有这个 pin 就无法访问私钥)
- 将公钥发送到服务器以供将来签名验证
- 从服务器获取用户令牌并将其存储在本地存储中
然后在授权期间:
- 请求用户输入密码
- 通过输入的密码检索私钥
- 从本地存储中检索令牌
- 使用步骤 6 中的私钥签署令牌
- 将其发送到带有签名数据的服务器
- 验证服务器上的签名,如果签名有效,则为用户打开会话。
我的问题是:如何生成受用户输入的 pin 保护的 KeyPair
PS 对于指纹,此逻辑由以下方式处理:
c# - Bouncy Castle El Gamal 字节 [] C# 的键
由于解密速度更快,我将我的代码从 RSA 更改为 ElGamal。
所以我现在第一次使用 BouncyCastle,但我不知道如何转换我的密钥
每个到一个字节[](字符串也可以)
我找到了一个类的解决方案都继承了“AsymmetricKeyParameter”:
但这仅适用于 PrivateKey。我找不到类似的方法是使用 public_key
我需要一个 String 或 byte[] 来压缩、加密、保存和发送密钥。
-
提前谢谢你的帮助。
ios - 在 iOS 中使用椭圆曲线创建 PKCS 10
我正在研发以创建 PKCS 10 CSR,我用谷歌搜索并在这个人的 github 上找到了非常好的帮助,我已经完成了 RSA kSecAttrKeyTypeRSA
,现在我想对 Eliptic Curve 做同样的事情,kSecAttrKeyTypeEC
但我无法找到在这方面需要帮助。
已编辑:
我尝试SCCR.m
从 RSA 转换为 ECDSAwithSHA256
- 我得到ECDSAWithSHA256的 OID并转换为hex。
- 在整个班级中将 SHA1 更改为 256,例如
CC_SHA256_CTX
. kSecAttrKeyTypeEC
使用而不是创建密钥对kSecAttrKeyTypeRSA
。
毕竟,我得到了签名无效的 PEM 文件。下面是我的全班。
SCCR.m
问题
- 当此 OID
1.2.840.113549.1.1.5
转换为十六进制时,这将成为{0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00}
定义的,static uint8_t OBJECT_rsaEncryptionNULL[13] = {0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00};
那么SEQUENCE_OBJECT_RSAEncryption
定义的又是什么static uint8_t SEQUENCE_OBJECT_RSAEncryption[] = {0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 1, 1, 5, 0x05, 0x00};
? SEQUENCE_OBJECT_sha256WithECEncryption
如果是 SHA256withEC会怎样
从 OPENSSL 生成的 CSR
-----开始证书REQUEST----- MIIC8jCCAdoCAQAwfDELMAkGA1UEBhMCYXMxCzAJBgNVBAgTAnB1MQwwCgYDVQQH EwNsaHIxDDAKBgNVBAoTA3BhazERMA8GA1UECxMIYXNjZXJ0aWExDjAMBgNVBAMT BWFsZWVtMSEwHwYJKoZIhvcNAQkBFhJhbGVlbS5yekBnbWFpbC5jb20wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzvlvXGw4/YPYbiiCQE2pmqu0x9Ib3 nHk3yMy8ewJIXWOuewVmB7ISBoiAaJ01ON9H/szYUvCGoU5fzz7UFgxCI7biypuy ixo74w7Bd2jRMsH7baZ2W0bhvGoBxN1IMJZHI53J2KF9P5tayLz7OyGQ4Qz8p63A A6Ag3rblIDEBiDr6Xkyxd2atUf4EwB4JcrsLx66RyGDWadXcyO8P39Jg6bgauBMh OW2tq3Y7WsnOnYrYj4m1r9Z1ZFZEIHtHJX9u0qtuHH8yZD/saP5RkUcjIZPHU6Yh gNByRAXCl5YAMTV9yah/AGq6SMwvSRbhX6zgCpI0/eIhvyuzFW/poRlvAgMBAAGg MTAWBgkqhkiG9w0BCQIxCRMHYXNjdGVzdDAXBgkqhkiG9w0BCQcxChMIODc2NTQz MjEwDQYJKoZIhvcNAQELBQADggEBADdv9TOQAV7hEtFsviyp9G08BJgSDBjdP63I Efplt2B1POGvdOKvR1OI5r/qgZZ8E7BTBaFyArUT4+sEdybpmXV9PdO8R7zawD/j 7vmKShYThlPxi/UDrZT8kAwrnBAKgChJ/KMSB6LGdM2wvZKvoN14LFj/KUHtTI97 LYRfhIKFk28yyeSQxK8a3zkPawiTWBYYay9GU13NiKXedps00eV14S7/jAzhL/bk e94LfFybyDcOa2zDWKZOwOGAEStCq4O+7A+t8wrA= -----结束证书申请-----
ios - 从 iOS 导出公钥和私钥到 OpenSSL
我正在开发需要创建 CSR 的应用程序,使用 Objective c 或 Swift 这并不容易。所以我选择 OpenSSL 来创建 CSR,我成功创建的代码如下所示,但我的另一个核心要求是将密钥存储在安全飞地中,但这在 OpenSSL 中是不可能的,因为我在网上搜索过。现在我想在安全飞地的目标 c 中创建密钥对,然后将这些公钥(带数据)和私钥(带参考)导出到 openSSL(EC_KEY
),然后从中创建 CSR。我找到了这个导出密钥的链接,但没有办法导出私钥(数据不可能,但有参考)。
我需要一些指导如何做到这一点。
ios - 在 iOS 中将 SecKeyRef 转换为 EC_KEY
我正在从 openSSL 创建 CSR,但由于 OpenSSL 没有将密钥存储在安全飞地中,因此我选择目标 C 在安全飞地中创建密钥对(私钥和公钥)并发送到 OpenSSL 以获得 X509 证书。我在 NSData 中成功获得了 public key ,然后转换const unsigned char * bitsOfKeyDataPublicKey = (unsigned char *) [publicKey bytes];
然后创建 public key EC_KEY*_ec_keyPublic = d2i_EC_PUBKEY(NULL,&bitsOfKeyDataPublicKey, publicKeyLegnth);
。但是对于我们SecKeyRef
从目标 c 获得的私钥,因此对于创建EC_Key
我们如何转换私钥或者这是转换或使用私钥的任何方式?寻找回应。谢谢
security - OpenSSL:是否可以在没有 ecparam 文件的情况下查看 EC 命名曲线?
是否有一个 OpenSSL 命令来派生用于生成 EC 密钥对的命名曲线?
我在这里将参数生成到 PEM 文件中:
openssl ecparam -name secp256k1 -out secp256k1.pem
然后通过键入以下内容验证使用的命名曲线:
openssl ecparam -in secp256k1.pem -text -noout
但是,当您只有 Private.pem 和 Public.pem 而没有 ecparam 文件时,如何实现相同的效果?
openssl pkey -in user1Key.pem -text -noout
处理我使用命令行 OpenSSL 工具而不是 C 库生成的密钥。当我对 PEM 文件运行此命令时 - 我使用 C 生成 - 我得到了所有内容,但没有得到简短的 ecparam 名称。我得到 Private、Public、Seed、Prime、A、B 等。
ssh - 自动化 ssh-keygen -t rsa 所以它确实要求输入密码
我正在整理一组为我的服务器生成公钥/私钥对的说明。用户将是非技术性的。我想给他们一个命令,要求他们输入密码,而不是简单地提示输入密码。(请注意,我知道人们有可能遵循自己的道路并规避这些说明;我不是在寻找防弹的东西,只是在寻找能够尽可能有力地引导他们沿着首选道路前进的东西。
可能的?我检查了手册页,但如果答案在那里,我不明白。
c - 为什么 C_GenerateKeyPair 返回错误(PKCS#11)?
我想通过 PKCS#11 在安全卡上创建 ECC 密钥对。使用曲线为BrainpoolP256r1(1.3.36.3.3.2.8.1.1.7),DER编码为06 09 2b 24 03 03 02 08 01 01 07
功能是:
C_GenerateKeyPair 调用返回 0x13 = CKR_ATTRIBUTE_VALUE_INVALID
我不知道什么属性可能是错误的。我知道信息很差,但我尝试了不同的方法,仍然有这个错误。有什么根本错误吗?
java - 使用公共和私有 JKS 文件生成密钥对
是否可以KeyPair
使用已生成的公钥和私钥库 (JKS) 文件在我的应用程序中生成使用?
谢谢
我想用已经生成的RSA 2048
私钥和公钥创建密钥对
wordpress - 如果您在生成密钥对时选择不创建密钥对,是否可以通过 FTP 访问 EC2 实例?
我按照这个 AWS 教程启动并运行了一个 Wordpress 站点,但它指示我不要使用密钥对选项,所以现在我无法按照这些说明进行 FTP 并进行简单的 CSS 等更改。
在我炸毁整个实例之前,我是否错过了一种可以使 FTP 成为可能的方法?