草庐IT

CA证书

全部标签

java - Jetty 需要 URL 的 SSL 客户端证书

我想在HTTPS站点上的Jetty中运行一个servlet,该站点只需要部分站点(特定URL)的客户端证书。例如:https://example.com/someservlet/public-无需客户证书https://example.com/someservlet/protected-需要客户证书在Apache中,我可以通过指定SSLVerifyClientrequire来完成此操作在里面或这会强制Apache在发出请求后重新协商SSL连接。我不想运行嵌入任何其他东西的Jetty,只是独立运行。这可能吗?Servlet能否以某种方式直接导致这种情况?可以通过配置完成吗?

java - 如何在 Java 中使用 X.509 证书签署 HTTP 请求?

如何使用Java执行HTTP请求并使用X.509证书对其进行签名?我通常使用C#编程。现在,我想做的是类似于以下内容,仅在Java中:privateHttpWebRequestCreateRequest(Uriuri,X509Certificate2cert){HttpWebRequestrequest=(HttpWebRequest)HttpWebRequest.Create(uri);request.ClientCertificates.Add(cert);/*...*/returnrequest;}在Java中,我创建了一个java.security.cert.X509Certi

java - 如何知道哪个 X509 证书签署了另一个证书(Java)

在我的示例中有三个证书,假设它们形成一个链,但我还不知道它们中的哪一个签署了哪个:X509Certificatec1=....X509Certificatec2=....X509Certificatec2=....我想知道哪个证书负责签署另一个证书。计划是获取“AuthorityKeyIdentifier”并将其与“SubjectKeyIdentifier”匹配。importorg.bouncycastle.asn1.DEROctetString;privatestaticStringdecodeKey(byte[]e){DEROctetStringoctet=newDEROctetS

java - Apache HttpClient 和 PEM 证书文件

我想以编程方式访问需要客户端证书的站点,我在PEM文件中拥有该证书。在此应用程序中,如果可以避免,我不想将它们添加到我的keystore、使用keytool或openssl。我需要直接在代码中处理它们。HttpClienthttpclient=newDefaultHttpClient();HttpGethttpget=newHttpGet("https://my.secure.site.com/url");//TODO:Specifyca.pemandclient.pemhere?HttpResponseresponse=httpclient.execute(httpget);Http

java - 具有自己的证书颁发机构的 Cassandra SSL

我想设置我自己的CA以用于cassandra集群,这样我就不必在每次添加新节点时都复制所有证书。我已经阅读了一些关于Cassandra和SSL的教程,但它们都与复制证书有关。我在CA过程中有点迷茫这是我认为我需要做的创建CA一次为每个节点创建一个CSR,然后用我的CA对每个节点进行签名(->另存为nodeX.crt)将node0.crt导入到我的cassandranode0keystore,将node1.crt导入到node1keystore等现在:我需要向信任库添加任何内容吗?我需要对CA文件做些什么吗?将其复制到每个客户端/节点服务器?我需要为我的java客户端提供什么文件?cql

java - 如何在不转换为 keystore 的情况下从 PEM 证书和 key 构建 SSLSocketFactory?

我获得了一个自签名客户端证书工具包,用于通过HTTPS访问服务器。该套件包含以下PEM文件:client.crt(客户端证书)client.key(客户端私钥)ca.crt(CA证书)解决该任务的一种方法是生成Javakeystore:使用openssl将客户端证书和key转换为PKCS12keystore使用keytool将CA证书导入商店...然后使用如下代码构建SSLSocketFactory实例:InputStreamstream=newByteArrayInputStream(pksData);KeyStorekeyStore=KeyStore.getInstance("PK

java - 使用 Java Keytool 更新证书 - 重用旧的 CSR?

我在Javakeystore中有一个SSL证书。它大约一周后就会过期,我需要续订它。我可以重用以前的CSR(CA仍然有)然后使用import命令导入证书,还是我需要生成一个新的CSR? 最佳答案 您可以(如果您的CA不检查公钥重用),但这是一种糟糕的安全做法。有效期的主要目的是限制证书和相关私钥暴露于被破坏可能性的时间。 关于java-使用JavaKeytool更新证书-重用旧的CSR?,我们在StackOverflow上找到一个类似的问题: https://

java - 将个人 SSL 证书与 Webdriver (Selenium 2.0) 结合使用

我正在测试一个需要个人SSL证书才能执行某些操作(例如登录)的网站。我有一个使用代理设置的Webdriver(Selenium2.0)测试:ProxylocalhostProxy=newProxy();localhostProxy.setProxyType(Proxy.ProxyType.MANUAL);localhostProxy.setHttpProxy("www-proxyname:port");FirefoxProfileprofile=newFirefoxProfile();profile.setProxyPreferences(localhostProxy);driver=

java - 与客户端证书的 SSL 重新协商导致服务器缓冲区溢出

我编写了一个Java客户端应用程序,该应用程序使用客户端证书通过HTTPS连接到ApacheWeb服务器,并执行到服务器的文件的HTTPPUT。它适用于小文件,但处理大文件时会崩溃。Apache服务器日志显示如下:...OpenSSL:Handshake:done...Changedclientverificationtypewillforcerenegotiation...fillingbuffer,maxsize131072bytes...requestbodyexceedsmaximumsize(131072)forSSLbuffercouldnotbuffermessagebo

java - 使用充气城堡使用中间证书正确创建新证书

所以我的问题如下,基本上我想使用充气城堡(jdk16版本1.46)创建一个证书链。我对充气城堡和java.security总体上还是比较陌生的,所以如果我的方法可能完全错误,但无论如何这就是我所做的:到目前为止,我能够创建一个自签名证书,用作根证书。这是使用以下代码完成的://-----createCAcertificatewithkeyKeyPaircaPair=Signing.generateKeyPair("DSA",1024,null,null);这基本上创建了key对,如果需要,两个空选项用于提供者和安全随机数。Map>caMap=newHashMap>();caMap.pu