标签: passphrase

使用jgit的Java git客户端

我用java编写的git客户端遇到了一些困难.我正在使用jGit库通过git服务器上的ssh进行连接.问题是我不知道如何指定私钥的路径和密码.我在jGit文档中找不到有关我需要调用哪些函数的任何示例.从我读到的jGit库使用JSch使用ssh连接到服务器,JSch支持私钥和密码.有没有人有这方面的经验或有一些工作代码?

谢谢

java passphrase jsch jgit

8
推荐指数
1
解决办法
3643
查看次数

gpg-agent在gpg2中的用途

我一直在使用gpg加密.有人建议我应该使用gpg2.当我去使用时gpg2,我什么也做不了; 它会抱怨需要访问私钥,但我似乎无法在没有gpg-agent运行的情况下使用私钥.

事实证明我故意禁用gpg-agent(通过使用chmod -x /usr/bin/gpg-agent); 这导致gpg2功能非常有限,并向stderr抱怨.

我禁用的原因gpg-agent是一系列事件.

首先,我将SSH连接到远程计算机,"代理"将打开一个弹出窗口,要求我解锁我的SSH密钥.我不喜欢这个,因为:

  • 屏幕上的弹出窗口会中断我的工作流程
  • 我的屏幕上的弹出窗口不太可能被注意到,因此它会显示连接停止而不是查询以解锁加密密钥
  • 当我绝对不​​希望我的密码被缓存时,代理似乎缓存了我的密码(很像sudo使用密码缓存,我可以在其配置中禁用它); 每次将它们用于任何正在使用它们的程序时,我总是希望为我的加密密钥输入密码.
  • 弹出窗口似乎由一个单独的进程拥有,而我希望使用密钥特定进程查询密码短语(即使它是一个执行实际查询的库); 因为我使用命令行工具来完成大部分活动,这意味着GUI应用程序并不理想,因为我所做的一切都不能访问X11
  • 在后台自动启动一个单独的进程会删除"一个命令,一个进程"的概念,特别是如果该后台进程在原始命令退出后仍然存在

它原来是GNOME的核心机构,我不能卸载不卸载GNOME代理.所以我只是禁用它chmod -x /usr/bin/gnome-keyring*.然后我发现SSH会回退到另一个代理,所以我也使用相同的方法禁用了它chmod -x /usr/bin/ssh-agent*

当我开始使用时gpg,我发现它有一个类似的代理,就像我要问的那个.我出于同样的原因立即禁用了它; 我希望软件总是问我密码才能使用私钥.我不希望以任何理由缓存密码.

所以gpg2看似要求 gpg-agent,我想问:

  • 我是否过于偏执使用密码缓存?我很想看到或指出对它的讨论.
  • 是否有一种最佳实践可以更好地避免意外启用缓存密码短语?
  • 有没有办法在gpg2没有gpg-agent运行的情况下使用?
  • 鉴于代理是预期能够回答查询的守护进程,是什么阻止在本地计算机上运行的另一个用户或服务能够访问我的缓存或存储的凭据?

security passphrase gnupg gpg-agent

8
推荐指数
1
解决办法
3718
查看次数

在GPG命令中取消密码短语提示

编辑版

我有一个关于GPG的问题,但我写了所有的过程,也许它会帮助某人.

我想:在GPG命令中抑制密码短语提示

我不想:使用-c选项(--symmetric).

我有2个系统myFileOnLinux.txtmy@Email.com.

我想从发送数据myPasswordPhraseWindows.

我想加密数据Windows并解密Passphrase.

我在两者上安装了GPG并执行了以下步骤:

myFileOnLinux.txt 是我想要加密的Linux上的文件.

my@Email.com 对密钥的UID.

myPasswordPhrase 是密码短语.

  1. 生成一对密钥Windows:

Windows

  1. 更改以下关键参数Passphrase:

myFileOnLinux.txt

my@Email.com

myPasswordPhrase

Windows

Windows

  1. 导出公钥:

Passphrase

  1. 将公钥发送到myFileOnLinux.txt计算机.

  2. 导入公钥 my@Email.com

myPasswordPhrase

  1. 更改信任参数 Windows

Windows

Passphrase

myFileOnLinux.txt

  1. 加密文件 my@Email.com

myPasswordPhrase

  1. 将加密文件发送到Windows.

  2. 解密文件.

Windows

Windows弹出窗口中,它Passphrase再次问我

我怎么能避免呢?

谢谢

prompt passphrase gnupg

7
推荐指数
2
解决办法
7154
查看次数

Java密码加密

我正在尝试学习如何使用Java进行基于密码短语的加密.我在网上找到几个例子,但Stack Overflow上没有(还).这些例子对我来说有点解释,特别是关于算法选择.似乎有许多传递字符串来说明要使用什么算法,但很少有关于字符串来自何处及其含义的文档.并且似乎不同的算法可能需要KeySpec类的不同实现,所以我不确定哪些算法可以使用我正在查看的PBEKeySpec类.此外,这些示例似乎都有点过时,许多要求您获得一个旧的加密包,这个加密包过去不属于JDK,甚至是第三方实现.

有人可以直接介绍我需要做什么来实现加密(字符串数据,字符串密码)和解密(字节[]数据,字符串密码)?

java encryption passphrase

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

运行更新时如何解决macOS Carthage挂起?

开始研究一个新项目,我需要为私人和公共项目组合运行"迦太基更新",其中一些项目有子模块.无论我做什么,迦太基都没有说明原因.我该怎么做才能确定挂起,然后如何解决这些问题呢?

passphrase github carthage two-step-verification

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

Git 每次都会询问 SSH 密码,而 SSH 从代理获取密码

我在 Windows 10 Pro 机器上尝试执行 git pull,而不必每次都输入我的 SSH 密码。已生成带有密码的密钥对,并且公钥已成功添加到我的 GitLab 帐户。

在“服务”GUI 中,我可以看到“OpenSSH 身份验证代理”正在运行,如果在 PowerShell 中,我会Get-Service ssh-agent看到以下内容,确认相同的信息:

Status   Name               DisplayName
------   ----               -----------
Running  ssh-agent          OpenSSH Authentication Agent
Run Code Online (Sandbox Code Playgroud)

当我这样做时,ssh -T git@gitlab.com我收到“欢迎来到 Gitlab”消息,表明ssh 连接成功,无需输入密码。

我正在运行 ssh 代理并添加身份(通过运行svn add、输入我的密码并获取成功消息)。在同一终端中运行“ssh -T git@gitlab.com”会成功,无需密码。

在终端中,我可以运行 git 命令(例如git pushgit pull),每次都会提示我输入密码,并且操作成功。

在 Visual Studio Code 中,当我单击 GUI 按钮与源同步时,出现错误git@gitlab.com: Permission denied (publickey,keyboard-interactive). 在此输入图像描述
这可能是因为它没有提示输入密码,而需要输入密码。当我单击“打开 Git 日志”或“显示命令输出”时,我可以看到尝试的命令。在 VSCode 的终端或另一个终端类型应用程序中运行完全相同的命令,系统会提示我输入密码,输入正确的密码后,操作成功。

git Remote origin url 是此处描述的格式的 SSH URL ;它不是 …

git ssh passphrase ssh-keys visual-studio

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

Emacs epa模式:pinentry无法加密和保存文件

我试图在emacs中使用epa模式和组织模式,如本文所述.

我使用屏幕会话和ssh连接到计算机.因此,我需要将/ usr/bin/pinentry更改为指向/ usr/bin/pinentry-curses为/ usr/bin/pinentry-gtk-2.

我有

pinentry-program /usr/bin/pinentry-curses 
Run Code Online (Sandbox Code Playgroud)

作为我的.gnupg/gpg.conf中的最后一行.当我尝试保存文件时,我会看到这个菜单:

Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]
Run Code Online (Sandbox Code Playgroud)

我选择'确定'但只能获得

Opening output file: Encrypt failed, Exit
Run Code Online (Sandbox Code Playgroud)

我没有提示我的密码短语,也没有给出其他输出.它不会提示输入密码.它甚至没有将我的gpg'用户'列为foo@bar.com.

但是,当.gnupg/gpg.conf文件中没有该行时,我会在"选择加密收件人"对话框中看到我的gpg"用户".但是,cpu与消息说明:

Encrypting /home/user/test.gpg...
Run Code Online (Sandbox Code Playgroud)

(我假设它正在尝试生成gtk窗口并在圆圈中运行)

我有点困惑为什么我需要将/ usr/bin/pinentry链接到/ usr/bin/pinentry-curses并在我的gpg.conf文件中添加该行.

在将/ usr/bin/pinentry链接到/ usr/bin/pinentry-gtk-2之前,如果我在本地计算机上,则会在列出我的gpg用户的情况下获得"选择收件人加密"提示.我会得到一个对话框来输入我的密码,这一切都奏效了.我明白了

Encrypting /home/user/test.gpg...
Run Code Online (Sandbox Code Playgroud)

这一切都会成功.

我在今天早上最新的Arch系统上运行GNU Emacs 24.2.1.

我很好奇我做错了什么.我已经在arch wiki上检查了关于pinentry和gpg的文章,他们没有帮助解决问题.提前致谢.

更新:26-10-2012今天早上更新包装cryptsetup似乎已经影响了行为.当我打开.gpg文件时,我现在得到一个"请输入密码短语"提示,但它似乎永远不会过去.输入密码后,提示永远不会消失.

emacs gnu-screen passphrase gnupg tmux

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

如何使eclipse记住ssh密钥密码?

我正在使用Egit和Eclipse来使用git并访问github.一切都工作正常,但有一件事,我希望省略id_rsa每次我将提交推送到github时键入密钥密码.

我每次重新启动Eclipse并尝试推送时都要求输入密码.

密码短语请求

如何让eclipse记住密码短语,以便我不必手动输入?

谢谢

eclipse git passphrase github egit

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

在bash脚本中向git提供密码

如何在bash脚本中使用git fetch / pull提供密码短语。我真的需要在bash脚本中执行此操作,而无需使用ssh-add或类似的内容。可能吗?

git bash shell passphrase

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

生成 OpenSSL 证书时如何自动执行 PEM 密码?

我需要自动生成自签名 SSL 证书以用于项目的测试目的。我正在使用以下 OpenSSL 命令生成证书和密钥:

> openssl req -x509 -newkey rsa:2048 -keyout myserver.key -out myserver.crt -subj "/C=US/ST=California/L=San Diego/O=Development/OU=Dev/CN=example.com"
Run Code Online (Sandbox Code Playgroud)

在生成过程中,系统会提示您创建 PEM 密码:

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Run Code Online (Sandbox Code Playgroud)

我怎样才能自动化这个?我已经尝试过这样的-passin论点:

openssl ...... -passin pass:foobar .....
Run Code Online (Sandbox Code Playgroud)

openssl ...... -passin file:secretfile.txt .....
Run Code Online (Sandbox Code Playgroud)

但在这两种情况下,它仍然要求创建一个PEM pass phrase. 从我读到的我认为这passin只是向密钥文件添加密码......

是否有可能以某种方式自动化?

passwords ssl openssl passphrase tls1.2

4
推荐指数
1
解决办法
6478
查看次数