- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 CXF 签署 soap 消息,在使用我在互联网上找到的知识配置我的客户端后,我遇到以下错误消息:
org.apache.ws.security.WSSecurityException: General security error (No certificates for user user1 were found for signature)
我是这样配置客户端的:
<jaxws:client id="clienteRecepcaoEvento"
address="https://hnfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento"
serviceClass="com.lutum.ws.nfe.clientes.RecepcaoEventoSoap">
<jaxws:binding>
<soap:soapBinding version="1.2"/>
</jaxws:binding>
<jaxws:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry key="action" value="Signature"/>
<entry key="signatureUser" value="user1"/>
<entry key="signaturePropFile" value="crypto.properties"/>
<entry key="signatureKeyIdentifier" value="DirectReference"/>
<entry key="signatureParts" value="{}{http://www.portalfiscal.inf.br/nfe}infEvento;"/>
<entry key="passwordCallbackRef">
<ref bean="passwordCallbackHandler"/>
</entry>
</map>
</constructor-arg>
</bean>
<!--<bean class="com.lutum.ws.nfe.interceptors.RecepcaoEventoInterceptor"/>-->
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</jaxws:outInterceptors>
</jaxws:client>
crypto.properties 文件是这样的:
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=PKCS12
org.apache.ws.security.crypto.merlin.keystore.password=password
org.apache.ws.security.crypto.merlin.keystore.file=/home/hudson/certificado/certificadoA1Valid.pfx
org.apache.ws.security.crypto.merlin.truststore.file=cacerts.ks
我认为问题出在回调处理程序中,但它似乎没有任何错误:
public class PasswordCallbackHandler implements CallbackHandler {
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for(Callback callBack:callbacks){
if(callBack instanceof WSPasswordCallback){
definirSenha((WSPasswordCallback)callBack);
}
}
}
private void definirSenha(WSPasswordCallback callBack) {
callBack.setPassword("1606");
}
}
最后怀疑的是证书文件:
MAC verified OK
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: user1
Microsoft CSP Name: Microsoft Enhanced RSA and AES Cryptographic Provider
Key Attributes
X509v3 Key Usage: 10
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIXyiURTtlT44CAggA
MBQGCCqGSIb3DQMHBAjRPAxny37BtwSCBMj4bKqe56Nx2OxHzKwOBVfPQKPgd9Or
0qWkm3BL8HLd32znuwVgN0oLPiWZ/UHj6nDhdzJGwflvdPMtgb0w94e6cKtB7Ipo
z19+ZWfLUpVKi8U1nNieMlC9GG5ZskqmgmsOZWtpzFD58+DUmuX3fDyfqHin6dN7
HnzKebRbUVNLGGH+g802wwzo3S/LUBVJ+gl1uDbUeQededA6/HLw5CbG+bH7e1DD
2sGVjUywz+GFytbA9IJo6Y1fG5T3CYU9EMHQfJ9U8DATOPvtMulyZiZmftVfLcGU
I9pAQ6YGx0mDfAdhCBdVBz64HPuxAvKHqiPgtco6V/KuARcjxZ8YbXEJ9wKB+biy
+dWHf2pD17GV+MEQq5XzxkWfBgeKEMA1QoLlBF555h+ZLDh8o5G36REnS27YShhZ
OC6F20S5TqLMSYsb52V0d9yyoZ6Jn7hMImGo3GdD5jgytOcP+O1q72j/xNzhctP6
ESLBx82pkh6Xy19HxtfPw9kb6Rw0z2a3+rynCr7kwrjNlCdS5KSmS8DHdql+1p1v
Y/dEJkpxKuTY15kZ10UUzCjCSNNtnF0hRAjmjdJdvrXLPcdQv8gNcNwTrUVJyWa3
MEkEe5IF92MrAjSROyAs50vrDd1Wbt5U32aI7+VMnPFwv3J5ElT7QS8PTRM4zwbY
K4xlT3Az0sMU/egPnxlMpSN68SaAbP4IVcyM4u+4dXxKenGYLyVuMH77mszeMHFB
w6Bl7G+dPO5NfOzNlHKTmI59vT0hSQTgnnP6aoj/gusYv/cb5gYSl93bQaVC9UVM
e89mOxpf3GmCeVSQjWzGcAhAddGWGH4MjImZlzvQObvbvwuR0Ey605Su/8EhiSpS
r2recCNjRocycoqjWxuKJo9WFqJv57n6jV2hcaeT0XmyG1gBqPFnoYZGKDyGyTsa
xBotf0drj06tkdoPC7XvAP9MeOOXm+5Pe9KTQHmMnF6ydxEybME/cTbmldrrdVEn
eJN4cH0P0BXGXsYWbEYJzYeKkLD+QZjbPSMcT7iCrFr+gmOWptuHpBuRSgSywdcj
WDYxR5+Jty1bH/Hlm4e0WzwP713eP44rr5kzBWBOdWnZ0UCAYlowNW2oeFeySGW/
Mze0Ck2RE8VUEzJty00yJnpIjg/2lnDEabZUa/eDi/erEjXIak8s7VqrNIhLMLwy
cq5f3iGqw3xPthonBPiXyajvgmHp+dfxee0hsyGGWNiFX4BmXBkqQDFthJxK1Xkl
OPE69HtTmSZuAs2+lE/nePMnKe10kfar8rxv43wMyuaDnbsgEGteT9ItYMsGuECV
nqgOHd2XS3sRo2VxGzcyT3Dg36QDUNH2zeYtu2mR5esKI/wr6icxo9tljEu0mJH6
g5lQxIcEfjVRSHqT8i5YfxoWMuvqhCdRGjMgYw1IE5ShOP1wD7BgzGRahiSe5yzH
8foMRqZR8+cX4Diw0goTCM/U1QZyT4o9phnQeZgEJ4OSkaJGtd56+Gtfd/lT0cnw
cNmyp+j2YXoc7zB3kVjAEbgFOCF7442/xRvNx1cp1vR5GBvZv45iSnP6gYflUKIP
1R70LOtYdG/fJFr2t333wN+IXZFbItsSSYbucrRmHFF6LRLhiCQUp/uxteYpkhuq
2Zk=
-----END ENCRYPTED PRIVATE KEY-----
Bag Attributes
localKeyID: 01 00 00 00
subject=/C=BR/ST=MG/L=BELO HORIZONTE/O=ICP-Brasil/OU=Secretaria da Receita Federal do Brasil - RFB/OU=RFB e-CNPJ A1/OU=AR ONLINE CERTIFICADORA/CN=NO ONE:00000000000000
issuer=/C=BR/O=ICP-Brasil/OU=Secretaria da Receita Federal do Brasil - RFB/CN=AC VALID RFB
-----BEGIN CERTIFICATE-----
MIIIGDCCBgCgAwIBAgIIQ3XTpGx352UwDQYJKoZIhvcNAQELBQAwcTELMAkGA1UE
BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEg
ZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEVMBMGA1UEAxMMQUMg
VkFMSUQgUkZCMB4XDTE0MDEyMjE3NTI0NVoXDTE1MDEyMjE3NTI0NVowgewxCzAJ
BgNVBAYTAkJSMQswCQYDVQQIEwJNRzERMA8GA1UEBxMIUElSQVBPUkExEzARBgNV
BAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0YSBG
ZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEWMBQGA1UECxMNUkZCIGUtQ05QSiBBMTEg
MB4GA1UECxMXQVIgT05MSU5FIENFUlRJRklDQURPUkExNjA0BgNVBAMTLUNPTUVS
Q0lBTCBFTEVUUklDQSBITSBMVERBIEVQUDo2NTIzNDQ4NjAwMDE3ODCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKk4rz44IRJLhq+0r8MxEX8+4OLYU13a
ALYSsNoZNojJEDxRmxUQw6qoQZSzpxBdry77+ZLf4SOUPJZv08ICMZp+ADtUy51n
wUifFsH9FRt8bkWVs4V8rtx94HOZrq9wAA/vL6gqyVdi1bgapWUKEj5qn79BzL1y
Cf1Ruz9VEq1jASJcywJR23YNM1Ew9dWul3nrRrkb7qIK1j2Bt7scT8VsQwiOtCfc
f+cfDYye7MRXwOeoeUEmVu3mxvGnkCoxBFZoJElj613ErcZ2irfGvWyrw/pYyTQi
XLWUGVve8p4KrAEECXmis54BrM0V2cawYLTF2bojynPJttLY3fp2IMUCAwEAAaOC
AzYwggMyMIGaBggrBgEFBQcBAQSBjTCBijBVBggrBgEFBQcwAoZJaHR0cDovL2lj
cC1icmFzaWwudmFsaWRjZXJ0aWZpY2Fkb3JhLmNvbS5ici9hYy12YWxpZHJmYi9h
Yy12YWxpZHJmYnYyLnA3YjAxBggrBgEFBQcwAYYlaHR0cDovL29jc3AudmFsaWRj
ZXJ0aWZpY2Fkb3JhLmNvbS5icjAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFEe5CFnY
QvaS/Pd8FXwmgEpFkX6fMG4GA1UdIARnMGUwYwYGYEwBAgElMFkwVwYIKwYBBQUH
AgEWS2h0dHA6Ly9pY3AtYnJhc2lsLnZhbGlkY2VydGlmaWNhZG9yYS5jb20uYnIv
YWMtdmFsaWRyZmIvZHBjLWFjLXZhbGlkcmZiLnBkZjCCAQEGA1UdHwSB+TCB9jBT
oFGgT4ZNaHR0cDovL2ljcC1icmFzaWwudmFsaWRjZXJ0aWZpY2Fkb3JhLmNvbS5i
ci9hYy12YWxpZHJmYi9sY3ItYWMtdmFsaWRyZmJ2Mi5jcmwwVKBSoFCGTmh0dHA6
Ly9pY3AtYnJhc2lsMi52YWxpZGNlcnRpZmljYWRvcmEuY29tLmJyL2FjLXZhbGlk
cmZiL2xjci1hYy12YWxpZHJmYnYyLmNybDBJoEegRYZDaHR0cDovL3JlcG9zaXRv
cmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL1ZBTElEL2xjci1hYy12YWxpZHJmYnYy
LmNybDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF
BwMEMIHCBgNVHREEgbowgbeBH2FudG9uaW8uam9zZUBobW1hdGVyaWFpcy5jb20u
YnKgPQYFYEwBAwSgNAQyMTYwMzE5NjAzNzQwMDkwODYzNDAwMDAwMDAwMDAwMDAw
MDAwMG1nNjI1NzE5cGNlTUegIQYFYEwBAwKgGAQWQU5UT05JTyBKT1NFIEFTU1VN
UENBT6AZBgVgTAEDA6AQBA42NTIzNDQ4NjAwMDE3OKAXBgVgTAEDB6AOBAwwMDAw
MDAwMDAwMDAwDQYJKoZIhvcNAQELBQADggIBACpeZvgcYQHJGfQpDh3Ubbvi6LxC
QFhxv74t71cZLCXeh8NsJI0rqSpPNxYkoY50PKFiBl9SWu9cCk+uJLkKNKj5Jq7S
ggva0/anvfh6LM4OMVRh9m/IuZPYtzL45wdqy+Upff3vaJk3+dngIXcRY9L6yBkd
BA5qgPkF1Syn6SrvJzAX/u/n6nJOuz0v7xMDehJf+25+sU626hC+Meu32/rZaiSP
aLa1h2MsCLn+KSdNFjcohkDZYHdZOGS3EEC9IICEtLporno3TvMcCKAucOWhzrlZ
iVIvERV7PkT+HUkmIBfVsstXs+bIHnijrwUe6rZWiRLYuWRBAF0xR0771OWHJr5o
fVkvMBzpUyuCza0ecIcyLYOtqP3d/bwuO4dFv21+KdecmYAJDliCuhCLE8/MkMSk
dzI9E6bjUop7CDLbU+j3P7x4PDymaDoQ2wvw7t3FxJoRh1etORzTw4sZgQ/B4Dxf
GAXiy+ibx95AUxvx9mDEn+4jfocgcW5GNPnYYTyCIZAKnMJulY3gx0Yo5PcL6ixV
jsGhKSIHk4oxf73YXxJInCGUGQYKAcQbdI89tOqRiVQazKN0roV5AAJznQrvG0qv
lGsAoF8wPCcpMLJPVFJyQ66/04AXoCXt0Y0Y8VeT9a8mNOAycHfCRx754H3hD/ua
+ipFuJmbMXIEC3zT
-----END CERTIFICATE-----
但我也看不出这里有什么问题。我做错了什么?
最佳答案
这里有“user1”:
<entry key="signatureUser" value="user1"/>
在证书中你有“use1”:
friendlyName: use1
冷静。
关于java - WSS4J - 没有找到用于签名的用户证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24643482/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improv
我们最近构建了一个 Web 生成器应用程序(所见即所得、预先设计的模板、购物车等)。我们一直在寻找 SSL 证书的几个不同选项,甚至是通配符,以寻求解决方案。问题是我们不想每次有客户想要将 SSL 添
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improve
我想这是不可能的,但如果是这样,我想知道为什么。 假设我从附近的官方证书颁发机构之一获得了 example.com 的 SSL 证书。假设我正在运行 a.example.com 和 b.c.d.exa
在我的 java 应用程序中,我有一个带有自签名证书/ key 的 JKS keystore 。我需要加载它们并将它们转换为 BouncyCaSTLe 类型。 我正在使用 java.security.
我不是这方面的专家,但我只是遵循 Android 开发者网站上列出的代码 keytool -genkey -v -keystore orbii.jks-keyalg RSA -keysize 2048
我正在为我的一个应用程序实现推送通知系统,所以我正在关注 this教程并为此生成 SSL 证书。 我的这个应用程序还涉及应用程序和服务器之间的一些数据交换,我希望它受到 SSL 保护,我想知道从 ve
可能这是重复的问题,但我没有从上一个问题中完全清楚,这就是我发布新问题的原因。请看看这个。我会将 Ca 证书放在我的资源文件夹中以验证 ca 认证的证书,服务器中也会有相同的 ca 证书。 我正在创建
首先,我想指出这在 Internet Exporer 11 上运行良好。但出于某种原因,我无法让 FireFox 正常运行! 所以我已经添加了我自己的 rootCA 安全证书,在 Internet E
我有域“www.example.com”的 SSL 证书,我已将此证书安装在运行良好的端口 80 上的 tomcat 服务器中。现在我的要求是在 https 中运行 php 代码,因为我的 Apach
我正在构建一个 oauth 1.0a 服务,它将被 Jira 中的一个小工具使用,它是一个用 C# 编写的 .Net 3.5 应用程序。 Jira 使用 RSA-SHA1 签名方法向此服务发出请求,这
假设用户打开 https://ssl-site.example/link/index.php我用 ProxyPass 配置了我的服务器和 ProxyPassReverse在 Apache 配置中(在
我有一个 tcp 服务器,它使用证书进行 ssl/tls 和许可。对于 ssl/tls,证书存储在 pkcs#12 文件中,我认为该文件将作为安装过程的一部分进行安装。 关于 Rhino 许可,作为安
我开始想第一次在 jmeter 中记录。 我的步骤是: 我在 mac 上安装了 jmeter:brew install jmeter 我创建了新的录音模板 我点击开始按钮。它显示如下图所示的弹出窗口。
通常,我的困惑似乎正在从我在WCF上下文中理解安全性的尝试中消除。在WCF中,似乎可以将证书用于身份验证和加密。基本上,我试图理解: 如何将X509证书用作身份验证令牌? ssl证书通常不公开吗?这是
我正在尝试使用 openssl 库让客户端通过 https 连接到某些服务器。 调用堆栈是这样的: SSL_library_init(); SSL_load_error_strings(); SSL_
我正在阅读 this article其中解释了 iOS/OSX 中的代码签名。 我知道从KeyChain Access utility 我可以看到我的证书,如果展开我的开发者证书,我可以看到有一个私钥
我有一个既在互联网上又在私有(private)网络上的服务器。 我正尝试按照我的经理的要求在内部专用网络上设置 TLS。 该服务可供 Internet 和私有(private)内部网络客户端使用。 外
我在具有不同域扩展名的单个网络服务器中设置了我的站点,例如 https://mybusiness.com https://mybusiness.com.au https://mybusiness.co
我正在开发一个移动应用程序。我是网络开发的新手。 我在 GoDaddy 上有 DNS(比如 app.test.com)并且有一个只有 IP 地址的服务器(比如 31.254.42.73)。我的请求从
我是一名优秀的程序员,十分优秀!