Tag: keystore

Sun Java KeyManagerFactory和空密码

我们在Sun JRE 1.6中遇到了KeyManagerFactory的问题。 我们使用类似以下的代码上传和使用p12格式的证书: KeyStore keyStore = KeyStore.getInstance(PKCS12); KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(SUN_X509); InputStream certificateFile = getSSLCertificate(); String certificatePassword = getSSLCertificatePassword(); keyStore.load(certificateFile, certificatePassword); keyManagerFactory.init(keyStore, certificatePassword); 当证书密码存在时,此代码可以正常工作。 但是当证书密码为空(因此证书不受密码保护)时,我们会从keyManagerFactory.init行得到除以零的错误。 有谁知道为什么会这样? 没有密码就不能使用证书吗? 谢谢

如何跨更新保留Mac上的CAcerts密钥库?

Mac OS X在/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts中有CA密钥库。 这个密钥库似乎被每个Java更新覆盖,这非常烦人,因为我们有内部CA用于开发环境,测试…… 有没有办法在Apple JSR中保留密钥库更改,现在,使用Snow Leo JSR3,还可以跨越单独的Java开发人员包(其JDK使用相同的密钥库)的更新?

java使用机器人类发送击键

我知道可以使用Robot Class在java中发送键击,但有没有办法在目标进程已经启动时指定它?

添加trustStore以进行客户端身份validation

服务器和相应的客户端支持客户端身份validation,但如下所示: SSLHandshakeException:没有共同的密码套件 ,没有trustStore引用,即它们使用默认的trustStore。 如何指定trustStore? ClassFileServer: private static ServerSocketFactory getServerSocketFactory(String type) { if (type.equals(“TLS”)) { SSLServerSocketFactory ssf = null; Properties systemProps = System.getProperties(); systemProps.put( “javax.net.ssl.trustStore”, “cacerts.jks”); systemProps.put( “javax.net.ssl.trustStorePassword”, “p@ssw0rd”); System.setProperties(systemProps); try { // set up key manager to do server authentication SSLContext ctx; KeyManagerFactory kmf; KeyStore ks; char[] passphrase = “p@ssw0rd”.toCharArray(); ctx = SSLContext.getInstance(“TLS”); kmf = […]

如何使“MessageDigest SHA-1和Signature NONEwithRSA”等同于“Signature SHA1withRSA”

我有兴趣将带有RSA签名的SHA-1哈希应用于某些数据,但我需要分两步完成 – 首先应用哈希然后对数据进行签名。 Signature.sign()函数似乎创建了一个最终签名的更复杂(ASN.1?)的数据结构(请参阅此问题 )。 如何在不使用任何外部库(如BouncyCastle)的情况下制作两个等效文件? 使用签名应用哈希并签名: PrivateKey privatekey = (PrivateKey) keyStore.getKey(alias, null); … sig = Signature.getInstance(“SHA1withRSA”, “SunMSCAPI”); sig.initSign(privatekey); sig.update(data_to_sign); byte[] bSignedData_CAPISHA1_CAPIRSA = sig.sign(); 通过MessageDigest应用哈希,然后使用签名进行签名: PrivateKey privatekey = (PrivateKey) keyStore.getKey(alias, null); … MessageDigest sha1 = MessageDigest.getInstance(“SHA-1”); byte[] data_to_sign = sha1.digest(bdataToSign); Signature sig = Signature.getInstance(“NONEwithRSA”, “SunMSCAPI”); sig.initSign(privatekey); sig.update(data_to_sign); byte[] bSignedData_JAVASHA1_CAPIRSA = sig.sign(); … 我正在寻找以下等价物: bSignedData_JAVASHA1_CAPIRSA == […]

在spring xml文件中隐藏数据源密码

有一种方法可以在xml spring配置文件中隐藏/加密密码吗? 我读过可以使用DataSource的“自定义”子类,但是解决方案将密钥保存在与纯文本相同的配置文件中……所以有点无用。 有一种方法可以使用KeyStore吗? 例如,从密钥库中读取值。 谢谢大家。

Tomcat 7和无效的密钥库格式

我正在尝试通过远程服务器上的https连接到Tomcat; 我找到了很多答案,但没有人为我工作过; 我在Ubuntu Server 14.04上使用Apache,Tomcat 7。 首先,我创建了证书密钥库写入: keytool -genkey -alias tomcat -keyalg RSA 在我编辑了“/etc/tomcat7/server.xml”以在端口8443上使用ssl之后: 其中**********是密码; 通过以下方式重启Tomcat: sudo service tomcat7 restart 我在文件“/var/log/tomcat7/catalina.out”中收到以下错误: SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8443]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8443]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:638) at org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at […]

Azure Java SDK:ServiceException:ForbiddenError:

尝试了基本位置检索器代码(如下所示) String uri = “https://management.core.windows.net/”; String subscriptionId = “XXXXXXXX-5fad-XXXXXX-9dfa-XXXXXX”; String keyStoreLocation = “D:\\test.jks”; String keyStorePassword = “123456”; Configuration config = ManagementConfiguration.configure( new URI(uri), subscriptionId, keyStoreLocation, // the file path to the JKS keyStorePassword, // the password for the JKS KeyStoreType.jks // flags that I’m using a JKS keystore ); ManagementClient client = ManagementService.create(config); // get […]

密钥库密码恢复android

我的客户端只共享密钥库。 他没有密码。 其他人已经发布了在游戏商店和客户端上的apk无法与他联系。 应用程序包含超过7.5万用户在谷歌播放。 所以现在我们需要恢复密码。 我使用过蛮力机制。 但我没有任何关于密码的线索所以蛮力似乎不起作用。我们不想发布新的应用程序。 我们需要更新应用程序。 有没有办法在不知道旧密码的情况下重置密码? 我在蛮力的帮助下尝试过排列,但没有取得成功。 有人可以帮忙吗? 我搜索过每一件事只有蛮力机制可用,但它有提示。 但我没有任何暗示 谢谢。

使用PKCS#7加密

我正在使用Bouncy Castle提供的库来加密,解密,签名和validation签名。 我这样做 1.加密数据 2.签署数据 3.将带符号的字节写入文件 4.从文件中读取带符号的字节 5.validation签名 6.解密数据 我参考了Beginning Cryptography with Java 当我validation数据时,我的问题出在第5步 org.bouncycastle.cms.CMSException:message-digest属性值与计算值不匹配 我的代码如下 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.math.BigInteger; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.KeyStore; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; import java.security.cert.CertPathBuilder; import java.security.cert.CertStore; import java.security.cert.Certificate; import java.security.cert.CollectionCertStoreParameters; import java.security.cert.PKIXBuilderParameters; import java.security.cert.PKIXCertPathBuilderResult; import java.security.cert.TrustAnchor; import java.security.cert.X509CertSelector; import […]