标签: key-pair

在.cop上将.pem转换为.ppk

关于这个主题有很多SO帖子,但大多数是针对Windows并使用GUI.所有其他帖子似乎都使用CLI.

在MacOS/Linux上是否有puttygen的GUI版本,如果是这样的说明如何安装/使用?CLI似乎给我一个错误.

Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]


>puttygen mykey.pem -t rsa -b 2048 -o mykey.ppk
puttygen: cannot both load and generate a key
Run Code Online (Sandbox Code Playgroud)

我的命令有问题吗?

linux putty pem key-pair private-key

6
推荐指数
1
解决办法
1万
查看次数

为Android上的SSH登录生成RSA私钥/公钥对

我正在开发一个项目,我需要我的应用程序为 SSH 登录生成公共/私有 RSA 密钥。

到目前为止,我有以下代码来获取密钥:

private void createKeyTest()
    {
        try
        {
            KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
            kpg.initialize(2048);
            KeyPair keyPair = kpg.genKeyPair();
            byte[] pri = keyPair.getPrivate().getEncoded();
            byte[] pub = keyPair.getPublic().getEncoded();

            String privateKey = new String(pri);
            String publicKey = new String(pub);

            Log.d("SSHKeyManager", "Private Key: " + privateKey);
            Log.d("SSHLeyManager", "Public Key: " + publicKey);
        }
        catch (NoSuchAlgorithmException ex)
        {
            Log.e("SSHKeyManager", ex.toString());
        }
Run Code Online (Sandbox Code Playgroud)

当我在 Logcat 中打印出来时,当我期望密钥看起来像这样时,我会得到随机的非文本字符:

-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEAm8QDThbuEjAbQxbsdDltL2xdFkQOep3L0wseSJAxmDuvH6yB
9I2fEEmF+dcVoNo2DGCDZMw7EgdFsfQZNF+PzKdZwtvSUTDW/TmMHWux2wYimNU3
jhQ3kfxGmiLgMJHQHWLkESwd06rCr7s1yOnPObdPjTybt7Odbp9bu+E59U10Ri3W
JFxIhi9uYQvpRn4LT/VIfH/KBdglpbD9xBAneVbKFXW7....
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

java encryption ssh android key-pair

6
推荐指数
1
解决办法
4187
查看次数

如何在Android KeyStore中生成KeyPair,受自定义密码保护

我有app使用指纹和4位数针(可以由用户在应用程序设置中设置,这不是系统管脚/模式/密码)授权.

使用指纹一切都很好,我的针有问题.

我想要做的是:

  1. 让用户从应用程序设置中设置引脚
  2. 在密钥库中为输入引脚保护的某些别名生成密钥对(以便在没有此引脚的情况下无法访问私钥)
  3. 将公钥发送到服务器以供将来签名验证
  4. 从服务器获取用户令牌并将其存储在本地存储中

然后在授权期间:

  1. 请求用户输入引脚
  2. 通过输入的引脚检索私钥
  3. 从本地存储中检索令牌
  4. 使用步骤6中的私钥对令牌进行签名
  5. 使用签名数据将其发送到服务器
  6. 验证服务器上的签名,如果有效,则打开用户的会话.

我的问题是:如何生成由用户输入的pin保护的KeyPair

PS对于指纹,此逻辑由以下方式处理:

KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN).setUserAuthenticationRequired(true)
Run Code Online (Sandbox Code Playgroud)

android keystore key-pair android-fingerprint-api

6
推荐指数
1
解决办法
1448
查看次数

使用 Terraform (AWS) 创建密钥对并下载 .pem 文件

我可以创建密钥myKeyAWSwith Terraform

resource "tls_private_key" "pk" {
  algorithm = "RSA"
  rsa_bits  = 4096
}

resource "aws_key_pair" "kp" {
  key_name   = "myKey"       # Create a "myKey" to AWS!!
  public_key = tls_private_key.pk.public_key_openssh
}
Run Code Online (Sandbox Code Playgroud)

亚马逊AWS:

在此输入图像描述

但我无法下载该myKey.pem文件。是否可以像下面这样下载myKey.pem文件Terraform

在此输入图像描述

amazon-ec2 amazon-web-services key-pair terraform private-key

6
推荐指数
2
解决办法
2万
查看次数

C#LINQ计数元素与DISTINCT

我有一个KeyValuePair项的集合,其中DateTime为键,字符串为value.基本上我的数据看起来像:

12/07/2013 - 10220
12/07/2013 - 10220
12/07/2013 - 12220
12/07/2013 - 11240
12/07/2013 - 15220
13/07/2013 - 23220
13/07/2013 - 35620
14/07/2013 - 15620
14/07/2013 - 15620
Run Code Online (Sandbox Code Playgroud)

我想列出我每天有多少项(不同).所以查询会导致:

12/07/2013 - 4
13/07/2013 - 2
14/07/2013 - 1
Run Code Online (Sandbox Code Playgroud)

c# linq distinct key-pair

5
推荐指数
1
解决办法
2万
查看次数

使用session.setConfig建立JSch SFTP安全性("StrictHostKeyChecking","no");

我使用带有私钥的JSch到FTP文件

  1. jsch.addIdentity(privatekeyfile);
  2. Session session = jsch.getSession("user","domain.com",22);
  3. session.setConfig("StrictHostKeyChecking","no");

第3行有问题.如果没有这一行,JSch就无法运行.

我的问题是:第3行是否会使SFTP转移不安全?

sftp jsch public-key key-pair

5
推荐指数
2
解决办法
1万
查看次数

使用字符串生成公钥和私钥

在Java中,我想根据我的应用程序中的字符串生成公钥和私钥。

我不是为了安全,而是为了“我可以使用这个字符串生成相同的公钥和私钥吗”。

我该怎么做呢?

我正在研究这些方法:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA", "SUN");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(1024, random);
Run Code Online (Sandbox Code Playgroud)

但我想用我自己的字符串作为密钥对生成器的种子,理想情况下该字符串将通过这些算法进行哈希处理。KeyGen 仅获取SecureRandom对象。每当我传递该字符串时,我都想要相同的结果密钥对。

java cryptography sha cryptographic-hash-function key-pair

5
推荐指数
1
解决办法
3210
查看次数

C++ openssl - 生成 RSA 密钥对并读取

我正在尝试使用 openssl 库生成 RSA 密钥对,然后稍后读取相同的密钥。但是,它失败了。有时它会给我这个错误:

错误:0906D06C:PEM 例程:PEM_read_bio:没有起始行

有时,它会给我这个错误:

错误:0906D06C:lib(9):func(109):reason(108)

生成密钥对并稍后能够读取它的正确方法是什么?这是我的代码。如果您运行它,您会发现它正确生成了 RSA 密钥对,但稍后无法读取它们。

    #include <stdio.h>
    #include <iostream>
    #include <openssl/rsa.h>
    #include <openssl/pem.h>
    #include <openssl/err.h>
    #include <exception>

    bool generate_key() {
        size_t pri_len;            // Length of private key
        size_t pub_len;            // Length of public key
        char *pri_key;           // Private key in PEM
        char *pub_key;           // Public key in PEM

        int ret = 0;
        RSA *r = NULL;
        BIGNUM *bne = NULL;
        BIO *bp_public = NULL, *bp_private = NULL;
        int bits = 2048;
        unsigned long …
Run Code Online (Sandbox Code Playgroud)

c++ openssl rsa key-pair

5
推荐指数
1
解决办法
8413
查看次数

AWS CodeBuild 与 Github Enterprise Deploy Keys 要求输入密码

我正在尝试为我的 Github Enterprise 存储库使用部署密钥,以便我可以使用 CodeBuild 项目推送新部署的标签。无论我如何尝试,我都无法让它发挥作用。

在我的本地计算机中:(MacOS)

我使用如下命令生成密钥:ssh-keygen -t ecdsa -b 521 -f $PATH_TO_SSH_KEY -q -N ""
我将$PATH_TO_SSH_KEYAWS SSM Parameter Store 中的内容作为 SecureString 保存。
我从参数存储中加载此参数到我的 CodeBuild 环境中,而不是加载到我的 buildspec.yml 中。
我将 $PATH_TO_SSH_KEY.pub作为新的部署密钥保存到 github 企业存储库。

在我的 CodeBuild 项目 buildspec.yml 中:

我将密钥保存到文件中:printf -- "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_ecdsa

现在,我尝试了两种不同的方法,但都失败了。

方法一:

将企业站点的指纹保存到known_hosts:ssh-keyscan "$GITHUB_ENTERPRISE_URL" >> ~/.ssh/known_hosts
配置git以使用我的凭据:GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ecdsa" git push --tags
此方法失败并出现错误:

git@<ENTERPRISE_URL>: Permission denied (publickey).
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

方法2:

使用 SSH 代理保存密钥并尝试以这种方式克隆:
eval $(ssh-agent) …

git ssh amazon-web-services key-pair aws-codebuild

5
推荐指数
1
解决办法
1171
查看次数

Android keystore2.AndroidKeyStoreProvider 在 API 31 的三星设备上引发 NPE

从昨天起,我收到了运行 Android 12 的三星设备上的大量崩溃报告。AndroidKeyStoreProvider 在调用 X509Certificate.getPublicKey() 时抛出 NPE。它在其他品牌的设备上运行良好。

密钥对生成方法:

   public void generateKeys(Context context) throws GeneratePairKeyException {
    KeyPairGenerator keyPairGenerator;
    try {
        if(KeyStoreUtil.getPrivateKey() == null){
            Calendar start = GregorianCalendar.getInstance();
            Calendar end = GregorianCalendar.getInstance();
            end.add(Calendar.YEAR, 10);
            keyPairGenerator = KeyPairGenerator.getInstance("RSA", ANDROID_KEY_STORE);
            keyPairGenerator.initialize(new KeyPairGeneratorSpec.Builder(context)
                    .setAlias(ALIAS)
                    .setSerialNumber(BigInteger.valueOf(1))
                    .setStartDate(start.getTime())
                    .setEndDate(end.getTime())
                    .setSubject(new X500Principal("CN=Pushe_CA"))
                    .build());
            keyPairGenerator.generateKeyPair();
        }
    } catch (NoSuchAlgorithmException |
            NoSuchProviderException | InvalidAlgorithmParameterException e) {
        Logger.e(e);
        throw new GeneratePairKeyException("pair key not created");
    } catch (IllegalStateException e) {
        throw e;
    } catch (Exception e) {
        throw new GeneratePairKeyException("pair key …
Run Code Online (Sandbox Code Playgroud)

android x509certificate key-pair android-keystore

5
推荐指数
0
解决办法
327
查看次数