你好:
1、获取证书X509Certificate
由于原来是通过"javax.net.ssl.peer_certificates"获取,应用服务器是从weblogic8升级到weblogic10时String s = "javax.net.ssl.peer_certificates";
Object obj = httpservletrequest.getAttribute(s);
经查询资料
javax.net.ssl.peer_certificates方式是servlet 2.1规范的,而javax.servlet.request.X509Certificate方式是servlet 2.2以上规范的。由于weblogic server 从9.2版本就是基于servlet2.4的规范的,因此weblogic server 10.0 以后的SSL在header里放的也是javax.servlet.request.X509Certificate信息而不是javax.net.ssl.peer_certificates。因而:
X509Certificate[] ca=(X509Certificate[])httpservletrequest.getAttribute("javax.servlet.request.X509Certificate");
2、获取客户IP地址
在测试环境中发现应用取客户的ip地址,取到的是web服务器的地址,代码如下:
request. getRemoteAddr()函数获取。
经分析:
SSL加速器+apache+weblogic10,我们在SSL加速器中设置将客户端的ip地址放在header头中的WL_Proxy-Client-IP字段,则运行在weblogic10的应用能在request请求的header获取WL_Proxy-Client-IP。但如果将WL_Proxy-Client-IP改为与启用Weblogic插件要求一致的WL-Proxy-Client-IP字段名,则在header头中没有WL-Proxy-Client-IP的信息。我们认为可能是weblogic的插件将WL-Proxy-Client-IP的值重新设置或者删除了。
经过工程师的咨询以及项目组的咨询,应用不从request.getRemoteAddr(),从IEheader头中获取,
具体修改如下
1)在ssl加速器中,WL_Proxy-Client-IP修改为:
原:
定制的名称:WL_Proxy_Client_IP
模式:header
修改:
定制的名称:X-Forwarder-For
分享到:
相关推荐
这个小工具可让您提供.der证书的路径,并获取(子)域和IP地址。用法ruby certs.rb ./spec/samples/alt_names_cert.der 127.0.0.1 输出 127.0.0.1,cs-stage-home02.qwilt.com127.0.0.1,cs-stage-home02.op.qwilt....
- **扩展信息**:如Basic Constraints(是否为根证书)、Key Usage(公钥用途,如签名、加密等)、Subject Alternative Names(用于记录多个DNS域名或IP地址)等。 2. **验证证书**:使用`openssl x509 -in ...
可以使用`openssl x509 -in certificate.crt -outform pem -out server.crt`命令完成。 5. **配置Nginx**:在Nginx配置文件中,指定证书和私钥的路径,如下所示: ``` server { listen 443 ssl; server_name ...
1. 发行者备用名称(Issuer Alternative Name, SAN):除了标准的发行者名称外,此扩展允许添加额外的身份标识,如电子邮件地址、DNS名称或IP地址,增加了证书的灵活性和识别性。 2. 证书策略(Certificate ...
- **Subject Alternative Name**: 提供了除DNS名称之外的其他识别主体的方式,如IP地址、电子邮件地址等。 - **Extended Key Usage**: 指定更具体的密钥用途,如SSL服务器认证、代码签名等。 - **Certificate ...
成功认证后,设备将自动获得网络访问权限,并通过DHCP服务获取IP地址。可以通过Ping命令测试网络连接是否正常。 无线Dot1X认证的一个显著优点是,即使用户名和密码泄露,未授权的用户也无法接入网络,因为接入需要...
- `gaX509Cert`:类型为`X509Certificate`的对象,代表登录人的X509身份证书。 - **注意点**: - 该证书必须符合X509标准,并且是以Java安全包中的`X509Certificate`类表示。 - 证书格式不正确可能导致认证失败。...
SslStream提供了安全的网络流,而X509Certificate2用于管理证书,验证服务器身份。 总结,VB.NET的网络编程涵盖了各种网络协议的处理,提供了丰富的类和方法,使得开发者能够高效地构建网络应用,无论是简单的文件...
在示例代码中,`X509Certificate2`类用于加载这个证书,而`X509KeyStorageFlags`定义了证书的存储方式和可导出性。 接下来,我们看到`TcpClient`用于建立与APNs服务器的TCP连接。在本例中,`hostIP`设置为"gateway....
`http_realip_module`用于获取客户端的真实IP地址。 接下来,通过`make`和`make install`命令完成编译安装过程。 ##### Nginx配置文件详解 接着,我们来看一下具体的Nginx配置文件内容: ```nginx upstream ...
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt ``` 在这个过程中,你需要输入一些关于证书的信息,如国家、省份、城市、组织名、电子...
例如,`CertificateFactory`用于从PEM或DER编码的数据中创建证书,`X509Certificate`则代表X.509标准的证书,这是最常见的SSL证书格式。描述中提到的“ssl证书check”可能涉及到以下步骤: 1. **证书加载**:使用`...
8. **网络安全**: C#提供了处理网络安全的机制,如SSL/TLS用于加密通信,以及验证证书的`X509Certificate`类。此外,还可以通过`NetworkCredential`处理身份验证。 9. **网络流(Stream)**: 在C#中,网络数据通常以...
- 或者使用`openssl x509 -req -days 365 -in app.csr -signkey app.key -out app.crt`命令创建自签名证书。 以上步骤详细地介绍了如何在Linux环境中安装、配置Nginx,并将其从HTTP反向代理升级为HTTPS的过程,...
这通常可以通过Let's Encrypt这样的免费证书颁发机构获取,或者自签发证书(仅用于测试环境)。生成的文件通常为`server.crt`(公钥证书)和`server.key`(私钥)。 2. **编辑Nginx配置文件**:打开Nginx的配置文件...
- **特点**:通过DHCP服务器,客户端可以自动获取所需的TCP/IP参数,包括IP地址、子网掩码、默认网关等。 7. **Distributed File System (DFS) - TCP 389 / UDP 389 / TCP 445 / UDP 445** - **描述**:分布式...
- **Request.ServerVariables**:获取HTTP头部信息和服务器环境变量,如`Request.ServerVariables("REMOTE_ADDR")`获取客户端IP地址。 Request对象还支持其他一些用法,例如: - **Request.Browser**:提供有关...
- **获取电脑 IP 地址**:通过 CMD 输入 `ipconfig` 或查看网络设置中的 IPv4 地址来获取电脑 IP 地址。 - **获取 Fiddler 端口**:在 Fiddler 的 “Telerik Fiddler Options” -> “Connections” 中查看端口号...