`
ralphr
  • 浏览: 143251 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取证书X509Certificate及客户IP地址

阅读更多

你好:

        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 以后的SSLheader里放的也是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

 

分享到:
评论

相关推荐

    certs:解析X509证书以获取其中的(子)域

    这个小工具可让您提供.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....

    openssl 解析证书

    - **扩展信息**:如Basic Constraints(是否为根证书)、Key Usage(公钥用途,如签名、加密等)、Subject Alternative Names(用于记录多个DNS域名或IP地址)等。 2. **验证证书**:使用`openssl x509 -in ...

    自动化脚本一键生成Nginx https证书证书格式为pem

    可以使用`openssl x509 -in certificate.crt -outform pem -out server.crt`命令完成。 5. **配置Nginx**:在Nginx配置文件中,指定证书和私钥的路径,如下所示: ``` server { listen 443 ssl; server_name ...

    X509-Manager:这是功能齐全的X509证书管理器,具有可创建KeyPair和证书的完整GUI。 并以安全方式通过网络对其进行签名。 X509管理器支持的证书扩展是

    1. 发行者备用名称(Issuer Alternative Name, SAN):除了标准的发行者名称外,此扩展允许添加额外的身份标识,如电子邮件地址、DNS名称或IP地址,增加了证书的灵活性和识别性。 2. 证书策略(Certificate ...

    RFC5280_中文版_个人翻译v1.0

    - **Subject Alternative Name**: 提供了除DNS名称之外的其他识别主体的方式,如IP地址、电子邮件地址等。 - **Extended Key Usage**: 指定更具体的密钥用途,如SSL服务器认证、代码签名等。 - **Certificate ...

    无线Dot1X认证无线Dot1X认证

    成功认证后,设备将自动获得网络访问权限,并通过DHCP服务获取IP地址。可以通过Ping命令测试网络连接是否正常。 无线Dot1X认证的一个显著优点是,即使用户名和密码泄露,未授权的用户也无法接入网络,因为接入需要...

    PKI中间件接口手册

    - `gaX509Cert`:类型为`X509Certificate`的对象,代表登录人的X509身份证书。 - **注意点**: - 该证书必须符合X509标准,并且是以Java安全包中的`X509Certificate`类表示。 - 证书格式不正确可能导致认证失败。...

    vb.net网络编程

    SslStream提供了安全的网络流,而X509Certificate2用于管理证书,验证服务器身份。 总结,VB.NET的网络编程涵盖了各种网络协议的处理,提供了丰富的类和方法,使得开发者能够高效地构建网络应用,无论是简单的文件...

    C#推送信息到APNs的方法

    在示例代码中,`X509Certificate2`类用于加载这个证书,而`X509KeyStorageFlags`定义了证书的存储方式和可导出性。 接下来,我们看到`TcpClient`用于建立与APNs服务器的TCP连接。在本例中,`hostIP`设置为"gateway....

    dns+nginx+tomcat实现https

    `http_realip_module`用于获取客户端的真实IP地址。 接下来,通过`make`和`make install`命令完成编译安装过程。 ##### Nginx配置文件详解 接着,我们来看一下具体的Nginx配置文件内容: ```nginx upstream ...

    Nginx下配置Https证书详细过程

    openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt ``` 在这个过程中,你需要输入一些关于证书的信息,如国家、省份、城市、组织名、电子...

    athena-ssl-cipher.rar_加密解密_Java_

    例如,`CertificateFactory`用于从PEM或DER编码的数据中创建证书,`X509Certificate`则代表X.509标准的证书,这是最常见的SSL证书格式。描述中提到的“ssl证书check”可能涉及到以下步骤: 1. **证书加载**:使用`...

    C#网络编程1

    8. **网络安全**: C#提供了处理网络安全的机制,如SSL/TLS用于加密通信,以及验证证书的`X509Certificate`类。此外,还可以通过`NetworkCredential`处理身份验证。 9. **网络流(Stream)**: 在C#中,网络数据通常以...

    已经编译的nginx添加https.txt

    - 或者使用`openssl x509 -req -days 365 -in app.csr -signkey app.key -out app.crt`命令创建自签名证书。 以上步骤详细地介绍了如何在Linux环境中安装、配置Nginx,并将其从HTTP反向代理升级为HTTPS的过程,...

    https通信nginx反向代理443端口

    这通常可以通过Let's Encrypt这样的免费证书颁发机构获取,或者自签发证书(仅用于测试环境)。生成的文件通常为`server.crt`(公钥证书)和`server.key`(私钥)。 2. **编辑Nginx配置文件**:打开Nginx的配置文件...

    TCP IP协议端口大全.txt

    - **特点**:通过DHCP服务器,客户端可以自动获取所需的TCP/IP参数,包括IP地址、子网掩码、默认网关等。 7. **Distributed File System (DFS) - TCP 389 / UDP 389 / TCP 445 / UDP 445** - **描述**:分布式...

    新版精品ASP系列教程:第课-Request对象及其使用.pptx

    - **Request.ServerVariables**:获取HTTP头部信息和服务器环境变量,如`Request.ServerVariables("REMOTE_ADDR")`获取客户端IP地址。 Request对象还支持其他一些用法,例如: - **Request.Browser**:提供有关...

    fiddler使用手册

    - **获取电脑 IP 地址**:通过 CMD 输入 `ipconfig` 或查看网络设置中的 IPv4 地址来获取电脑 IP 地址。 - **获取 Fiddler 端口**:在 Fiddler 的 “Telerik Fiddler Options” -> “Connections” 中查看端口号...

Global site tag (gtag.js) - Google Analytics