草庐IT

java - 在 Java 中使用 AES 256 加密 RSA 私钥

我正在用Java编写一个安全的文件共享应用程序。总体架构如下所示:用户希望加密文件以在多个用户之间安全共享。应用程序在客户端生成一个随机UUID并将其用作AES256密码,并使用UUID加密数据。然后使用每个人的公钥对UUID进行RSA加密。每个共享用户一次。每个加密的UUID数据包都作为文件的一部分存储在自定义文件头中。然后文件会上传到其他人可以访问的服务器。每个用户都可以使用他们的私钥来读取AES加密key并解密文件。这里是陷阱。用户的私钥必须加密并存储在我们服务器的数据库中,以便可以从多个位置访问文件。在上传到服务器之前,私钥将使用客户端上用户选择的密码进行加密。我想使用AES2

c# - 在 C# 中使用 RSA 加密和在 Java 中解密时出现填充错误

目前,我在使用Java解密在C#中生成的Base64编码RSA加密字符串时收到以下错误:javax.crypto.BadPaddingException:NotPKCS#1blocktype2orZeropadding.NET和Java之间的交换设置过程是通过在.NETkeystore中创建私钥,然后从提取的PEM文件中创建的,使用keytool创建带有私钥的JKS版本。Java加载已经创建的JKS并将Base64字符串解码成字节数组,然后使用私钥解密。这是我在C#中创建加密字符串的代码:publicstringEncrypt(stringvalue){byte[]baIn=null;

java - 如何正确使用 Bouncy CaSTLe 的 OAEPEncoding for RSA(轻量级 API)

我一直在研究BouncyCaSTLe的RSA(轻量级API)实现,并了解了基础知识。看着他们的spec对于JCE提供程序实现,我注意到RSA可以使用不同的填充方案。据我了解,默认情况下使用空填充。因此,我开始探索OAEP填充,尤其是OAEPWithSHA512AndMGF1Padding。用谷歌搜索不是很有帮助所以我开始挖掘BC的源代码并找到了org.bouncycastle.jce.provider.JCERSACipher类(class)。但是看着initFromSpec很快就让我头疼了。。。具体来说就是不明白最后两个可以传给OAEPEncoding构造函数的参数是什么。根据BC的

java - 为什么我的 Java RSA 加密会出现算术异常?

在.NET中,我生成了以下公钥文件:xTSiS4+I/x9awUXcF66Ffw7tracsQfGCn6g6k/hGkLquHYMFTCYk4mOB5NwLwqczwvl8HkQfDShGcvrm47XHKUzA8iadWdA5n4toBECzRxiCWCHm1KEg59LUD3fxTG5ogGiNxDj9wSguCIzFdUxBYq5ot2J4iLgGu0qShml5vwk=AQAB.NET很乐意使用它的常规方法进行加密。我正在尝试使用此key在Java中对字符串进行编码。当我尝试加密字符串时遇到算术异常。下面是我用来加密的代码:byte[]modulusBytes=Base64.d

java - TLS_RSA_WITH_3DES_EDE_CBC_SHA 是否等同于 SSL_RSA_WITH_3DES_EDE_CBC_SHA

我正在配置一个Java客户端,它的工作是与服务器建立TLS连接。我想用这3个密码配置我的客户端:TLS_RSA_WITH_RC4_128_SHATLS_RSA_WITH_3DES_EDE_CBC_SHATLS_RSA_WITH_RC4_128_MD5在Java支持的密码套件中,我发现了相同的密码,但开头是SSL而不是TLS。问题是,如果我配置我的客户端:SSL_RSA_WITH_RC4_128_SHASSL_RSA_WITH_3DES_EDE_CBC_SHASSL_RSA_WITH_RC4_128_MD5这两个列表是否完全相同并且将被服务器解释为相同的?我担心如果我用SSL_*密码配置

java - commons-net兼容ssh-2.0协议(protocol)

我已经尝试使用库commons.net创建一个项目,以便通过ftp发送一些文件。但是我创建了一个与我的服务器的连接,我收到了这个错误。org.apache.commons.net.MalformedServerReplyException:Couldnotparseresponsecode.ServerReply:SSH-2.0-OpenSSH_5.3我已经关注了这个article用于创建我的连接,并与officialexamples我控制了文章。我的java代码在这里:privatevoidconnect(Stringhost,Stringuser,Stringpwd){try{ft

java - RSA key 对生成并存储到 keystore

我正在尝试生成RSAkey对并将其存储在HSMkeystore中。我现在拥有的代码如下所示:StringconfigName="C:\\eTokenConfig.cfg";Providerp=newsun.security.pkcs11.SunPKCS11(configName);Security.addProvider(p);//Readthekeystoreformthesmartcardchar[]pin={'p','4','s','s','w','0','r','d'};KeyStorekeyStore=KeyStore.getInstance("PKCS11",p);keyS

java - 将 openssh 公钥转换为 ssh2 (RFC 4716) 格式

主要问题就是这个。将openssh公钥解析为rfc4716格式兼容。唯一的问题是,它必须在java中。使用ssh-keygen,它只是单行命令:ssh-keygen-e-fopenssh_key.pub不幸的是,我无法在Java中找到任何其他来源。甚至没有提到转换所需的任何算法或步骤。所有这些都围绕ssh-keygen本身的使用展开。当然,我可以使用java.exec调用命令,但这是最坏的情况。示例opensshkey(已将其保存为代码格式,以便保留生成的空格/换行符):ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8

java - 使用 SSH 的 Apache Felix shell

我对如何通过SSH使用ApacheFelix感兴趣?我想使用SSH从远程计算机访问Felixshell。我知道有telnet支持,但它太不安全了。有什么解决办法吗? 最佳答案 是的,有一个,如描述的那样here(该指南是相对于eclipse的春分点但没关系)使用gogoshell的组合,apacheminasshd服务器和三equinoxconsolebundles(core+sshplugin+jaaspluginforsshauthentication)你将能够连接到mina的ssh服务器,你与OSGi相关的命令将由gogosh

使用windows电脑SSH客户端链接Iphone手机的sshd服务(免越狱)

最近有需求使用电脑导出手机中特定app的文件。当然可以直接连上数据线将手机中的文件下载下来。为了能做到代码自动化导出,将手机作为一台电脑使用,将手机中的文件导出来。关键问题是如何将手机作为电脑使用,这里有几个步骤(我使用的是Iphone手机)。1.在手机上安装一个SSH的APP,这里我使用的是iSH。2.组网:将手机和电脑连上同一个wifi2.手机打开iSH,安装sshd服务3.使用电脑ssh客户端链接手机的sshd服务一、手机下载SSH的APP这里我使用是iphone手机,安装的是iSH。安卓手机可以使用Termux二、组网将手机和电脑连上同一个wifi,保证手机和电脑在同一个局域网内。并找