`
shuai1234
  • 浏览: 995309 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

WebLogic11g-单双向SSL配置(以Springside3为例)

    博客分类:
  • java
 
阅读更多

转:http://dead-knight.iteye.com/blog/1941716


2、观察weblogic方便开发部署提供的演示秘钥库 
(秘钥库位置为:\weblogic11\wlserver_10.3\server\lib) 

3、观察ssl的默认演示配置 


那么在开发过程中,只需要在第一幅图上勾选“启用ssl监听端口”即可。 

正式环境中,有哪些变化呢?主要就是更改上面2、3图中的配置,改为实际的秘钥库、以及根据实际的秘钥库来配置SSL。 
网上可以搜到很多weblogic配置ssl相关资料,但是很多配置在实际环境中,都是跑不起来的。究其原因,有两点(1、需要去ca认证中心对产生的证书请求进行签证;2、更有甚者,直接使用keytool来制作,压根没提签证这回事)。weblogic配置ssl,需要标识(私钥和数字证书)、信任(可信证书颁发机构颁发的证书),所以光通过产生私钥直接配置肯定是不行的。 
下面是具体的步骤: 

1、下载openssl工具 
这里使用openssl工具来制作这些秘钥、ca根证书等等。 
openssl的windows安装文件放在网盘中,如果有需要随时下载。网盘地址为: 
http://pan.baidu.com/share/link?shareid=421723979&uk=3222190371 
我的安装路径为:D:\work\OpenSSL 
安装之后,打开cmd进入到bin目录下,即D:\work\OpenSSL\bin。开始制作根证书、秘钥等。 

2、制作CA根证书 
Java代码  收藏代码
  1. D:\work\OpenSSL\bin>openssl genrsa -out ca/ca-key.pem 1024  
  2. Loading 'screen' into random state - done  
  3. Generating RSA private key, 1024 bit long modulus  
  4. ...............++++++  
  5. ...++++++  
  6. e is 65537 (0x10001)  
  7.   
  8. D:\work\OpenSSL\bin>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem -config openssl.cnf  
  9. You are about to be asked to enter information that will be incorporated  
  10. into your certificate request.  
  11. What you are about to enter is what is called a Distinguished Name or a DN.  
  12. There are quite a few fields but you can leave some blank  
  13. For some fields there will be a default value,  
  14. If you enter '.', the field will be left blank.  
  15. -----  
  16. Country Name (2 letter code) [AU]:CN  
  17. State or Province Name (full name) [Some-State]:AH  
  18. Locality Name (eg, city) []:HF  
  19. Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAROOT  
  20. Organizational Unit Name (eg, section) []:CA  
  21. Common Name (eg, YOUR name) []:ahhx202  
  22. Email Address []://这里直接回车,不配置  
  23.   
  24. Please enter the following 'extra' attributes  
  25. to be sent with your certificate request  
  26. A challenge password []://这里直接回车,不配置  
  27. An optional company name []:这里直接回车,不配置  
  28.   
  29. D:\work\OpenSSL\bin>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650  
  30. Loading 'screen' into random state - done  
  31. Signature ok  
  32. subject=/C=CN/ST=AH/L=HF/O=CAROOT/OU=CA/CN=ahhx202  
  33. Getting Private key  


3、通过keytool工具产生秘钥、及证书请求文件,然后使用openssl上一步产生的ca根证书对证书请求进行签证,并且 
Java代码  收藏代码
  1. D:\work\OpenSSL\bin>keytool -genkey -alias example -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks  
  2. 您的名字与姓氏是什么?  
  3.   [Unknown]:  ahhx202  
  4. 您的组织单位名称是什么?  
  5.   [Unknown]:  CAROOT  
  6. 您的组织名称是什么?  
  7.   [Unknown]:  CA  
  8. 您所在的城市或区域名称是什么?  
  9.   [Unknown]:  HF  
  10. 您所在的省/市/自治区名称是什么?  
  11.   [Unknown]:  AH  
  12. 该单位的双字母国家/地区代码是什么?  
  13.   [Unknown]:  CN  
  14. CN=ahhx202, OU=CAROOT, O=CA, L=HF, ST=AH, C=CN是否正确?  
  15.   [否]:  y  
  16.   
  17.   
  18. D:\work\OpenSSL\bin>keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456  
  19.   
  20. D:\work\OpenSSL\bin>openssl x509 -req -in example.csr -out example.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 365 -set_serial 1  
  21. Loading 'screen' into random state - done  
  22. Signature ok  
  23. subject=/C=CN/ST=AH/L=HF/O=CA/OU=CAROOT/CN=ahhx202  
  24. Getting CA Private Key  
  25.   
  26. D:\work\OpenSSL\bin>keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore example.jks  
  27. 所有者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN  
  28. 发布者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN  
  29. 序列号: c1dedc7b5ba58f41  
  30. 有效期开始日期: Wed Sep 11 21:37:29 CST 2013, 截止日期: Sat Sep 09 21:37:29 CST  
  31. 2023  
  32. 证书指纹:  
  33.          MD5: 22:26:1A:F1:A0:D8:A9:80:05:CA:12:A2:C0:EB:30:11  
  34.          SHA1: CB:C2:96:74:2A:03:9B:F8:39:F2:19:D8:5D:40:95:E7:25:27:64:73  
  35.          SHA256: 61:48:18:5E:49:27:13:38:69:B7:01:C1:ED:98:59:8A:B8:85:26:A8:D3:  
  36. 5D:2E:EC:1E:DB:7E:59:71:AB:01:34  
  37.          签名算法名称: MD5withRSA  
  38.          版本: 1  
  39. 是否信任此证书? [否]:  Y  
  40. 证书已添加到密钥库中  
  41. [正在存储example.jks]  
  42.   
  43. D:\work\OpenSSL\bin>keytool -import -v -trustcacerts -storepass 123456 -alias example -file example.pem -keystore example.jks  
  44. 证书回复已安装在密钥库中  
  45. [正在存储example.jks]  
  46.   
  47. D:\work\OpenSSL\bin>keytool -import -alias example-ca -trustcacerts -file ca/ca-cert.pem -keystore exampletrust.jks  
  48. 输入密钥库口令:123456  
  49. 再次输入新口令:123456  
  50. 所有者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN  
  51. 发布者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN  
  52. 序列号: c1dedc7b5ba58f41  
  53. 有效期开始日期: Wed Sep 11 21:37:29 CST 2013, 截止日期: Sat Sep 09 21:37:29 CST  
  54. 2023  
  55. 证书指纹:  
  56.          MD5: 22:26:1A:F1:A0:D8:A9:80:05:CA:12:A2:C0:EB:30:11  
  57.          SHA1: CB:C2:96:74:2A:03:9B:F8:39:F2:19:D8:5D:40:95:E7:25:27:64:73  
  58.          SHA256: 61:48:18:5E:49:27:13:38:69:B7:01:C1:ED:98:59:8A:B8:85:26:A8:D3:  
  59. 5D:2E:EC:1E:DB:7E:59:71:AB:01:34  
  60.          签名算法名称: MD5withRSA  
  61.          版本: 1  
  62. 是否信任此证书? [否]:  Y  
  63. 证书已添加到密钥库中  

这一步会产生两个秘钥库文件:example.jks、exampletrust.jks在ssl的配置中使用到。先把这两个文件复制到如下位置: 
weblogic11\user_projects\domains\example\ 
即域的根目录下。 

4、秘钥库配置: 
启动domain并登录weblogic控制台,进入如图所示页面: 

点击更改按钮,如下图所示: 

默认是“演示标识和演示信任”,这里选择“定制标识和定制信任”并保存。 
继续配置如下图所示的“标识、信任”, 

由于之前制作秘钥的时候,密码统一为123456,这里可直接按照图中配置即可。密码部分全部输入123456,记得点击“保存”按钮。 
注意:秘钥库类型为空,则表示使用默认的jks类型。 

5、ssl配置: 
选择ssl面板,如下图所示: 

输入私有秘钥别名及私有秘钥密码(这里就是example.jks的相关信息,名称为example,密码为123456) 
输入完成,记得保存。 

至此,单向SSL配置完毕。大家可以把第二篇介绍的springside3的mini-web例子放在上面跑,使用https://localhost:7002/mini-web的url访问,如果按照上面步骤,应该不会有问题。或者直接使用https://localhost:7002/console来访问控制台进行测试。 

双向SSL,在weblogic的配置方面,只需要修改下图的配置即可: 
还是刚才的ssl配置界面,点击下面的高级链接: 

找到“双向客户机证书行为”,选择“请求客户机证书并强制使用”表示如果使用https访问应用时,必须强制客户端浏览器提供证书。 

修改完成,点击保存即可。 

下面是springside3(mini-web)整合ssl时需要修改的配置: 
修改文件:applicationContext-security.xml,如下: 
Java代码  收藏代码
  1. <!-- http安全配置 -->  
  2. <s:http auto-config="true" use-expressions="true">  
  3.     <s:intercept-url pattern="/css/**" filters="none" />  
  4.     <s:intercept-url pattern="/img/**" filters="none" />  
  5.     <s:intercept-url pattern="/js/**" filters="none" />  
  6.   
  7.     <s:intercept-url pattern="/account/user!save*" access="hasAnyRole('ROLE_修改用户')" />  
  8.     <s:intercept-url pattern="/account/user!delete*" access="hasAnyRole('ROLE_修改用户')" />  
  9.     <s:intercept-url pattern="/account/user*" access="hasAnyRole('ROLE_浏览用户')" />  
  10.     <s:intercept-url pattern="/account/role!save*" access="hasAnyRole('ROLE_修改角色')" />  
  11.     <s:intercept-url pattern="/account/role!delete*" access="hasAnyRole('ROLE_修改角色')" />  
  12.     <s:intercept-url pattern="/account/role*" access="hasAnyRole('ROLE_浏览角色')" />  
  13.     <s:x509 user-service-ref="userDetailsService" subject-principal-regex="CN=(.*?)$"/>  
  14.     <s:form-login login-page="/login.action" default-target-url="/" authentication-failure-url="/login.action?error=true" />  
  15.     <s:logout logout-success-url="/" />  
  16. </s:http>  

以上仅增加了x509的配置即可。注意后面的subject-principal-regex视具体情况而定。默认的是【CN=(.*?),】,而我这里配置的是【CN=(.*?)$】这么改的原因是由于我这边的客户端证书主题标识CN放在最后了,如:【C=CN, ST=AH, L=HF, O=CAROOT, OU=CA, CN=admin】,所以subject-principal-regex就是用来如何匹配CN值的正则表达式。 

现在weblogic已经支持双向ssl认证了,spring security也增加ssl认证的配置了,现在就缺少客户端证书了,不急,下面继续使用openssl来制作客户端证书 
Java代码  收藏代码
  1. 产生user账号对应的秘钥:  
  2. D:\work\OpenSSL\bin>openssl genrsa -out user-key.pem 1024  
  3. Loading 'screen' into random state - done  
  4. Generating RSA private key, 1024 bit long modulus  
  5. .....................................++++++  
  6. ..++++++  
  7. e is 65537 (0x10001)  
  8.   
  9. 根据user的秘钥产生证书请求csr文件:  
  10. D:\work\OpenSSL\bin>openssl req -new -out user-req.csr -key user-key.pem  
  11. You are about to be asked to enter information that will be incorporated  
  12. into your certificate request.  
  13. What you are about to enter is what is called a Distinguished Name or a DN.  
  14. There are quite a few fields but you can leave some blank  
  15. For some fields there will be a default value,  
  16. If you enter '.', the field will be left blank.  
  17. -----  
  18. Country Name (2 letter code) [AU]:CN  
  19. State or Province Name (full name) [Some-State]:AH  
  20. Locality Name (eg, city) []:HF  
  21. Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAROOT  
  22. Organizational Unit Name (eg, section) []:CA  
  23. Common Name (eg, YOUR name) []:user//这里是指登录账号,与用户表的账号对应  
  24. Email Address []:  
  25.   
  26. Please enter the following 'extra' attributes  
  27. to be sent with your certificate request  
  28. A challenge password []:  
  29. An optional company name []:  
  30.   
  31. 使用openssl之前制作的ca根证书对证书请求文件进行签证:  
  32. D:\work\OpenSSL\bin>openssl x509 -req -in user-req.csr -out user-cert.pem -signkey user-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365  
  33. Loading 'screen' into random state - done  
  34. Signature ok  
  35. subject=/C=CN/ST=AH/L=HF/O=CAROOT/OU=CA/CN=user  
  36. Getting Private key  
  37. Getting CA Private Key  
  38.   
  39. 将签证之后的证书文件user-cert.pem导出为p12格式文件(p12格式可以被浏览器识别并安装到证书库中)  
  40. D:\work\OpenSSL\bin>openssl pkcs12 -export -clcerts -in user-cert.pem -inkey user-key.pem -out user.p12  
  41. Loading 'screen' into random state - done  
  42. Enter Export Password://不输入密码,为空  
  43. Verifying - Enter Export Password://不输入密码,为空  
  44.   
  45. 将签证之后的证书文件user-cert.pem导入至信任秘钥库中(这里由于没有去ca认证中心购买个人证书,所以只有导入信任库才可进行双向ssl交互)  
  46. D:\work\OpenSSL\bin>keytool -import -alias user -trustcacerts -file user-cert.pem -keystore exampletrust.jks  

需要把最后增加证书的信任秘钥库exampletrust.jks重新复制到domain目录下。 

接下来,双击刚才生成的p12文件,将用户证书安装到浏览器的证书库中,步骤就不说了。 
现在重新启动weblogic的domain,访问https://localhost:7002/mini-web,出现如下图所示界面: 

由于user证书已经安装到浏览器的证书库中了,当访问mini-web时,弹出确认证书窗口 
 
确定之后,需要授予权限,并且输入授权的密码。点击确定按钮之后,直接由spring security根据证书的CN标识完成自动登录,并授予权限,如下图所示: 


至此,weblogic的ssl(单向、双向)总算梳理完毕。不足的地方,还有待补充。
分享到:
评论

相关推荐

    Weblogic配置SSL双向认证

    Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...

    三菱FX3G/FX3S通过485接口控制四台E700变频器的详细方案及应用

    内容概要:本文详细介绍了如何利用三菱FX3G/FX3S PLC通过485接口控制四台E700变频器的方法。首先,文章讲解了硬件连接的具体步骤,包括485BD扩展板的安装以及变频器之间的线路连接方式。接着,深入探讨了变频器参数的设定,确保各设备能够正确通信。然后,重点阐述了PLC程序的设计,包括MOV指令的应用、CRC校验的实现以及RS指令的使用。此外,还涉及了触摸屏的配置方法,使用户可以通过触摸屏进行频率设定和状态监控。最后,提供了常见问题的解决方案,如超时时间设置不当、CRC校验错误等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些熟悉三菱PLC和变频器操作的人群。 使用场景及目标:适用于需要通过PLC控制多个变频器的工业应用场景,旨在提高系统的响应速度和稳定性,降低开发成本。具体目标包括掌握485接口的硬件连接、参数设置、PLC编程技巧以及故障排查方法。 其他说明:文中提供的方案不仅限于三菱品牌,其他支持Modbus RTU协议的变频器也可以参照此方案进行配置。

    最新版kibana-9.0.0-windows-x86-64.zip

    最新版kibana-9.0.0-windows-x86_64.zip

    基于STM32的PID温控系统设计与Proteus仿真:半导体加热制冷一体化解决方案

    内容概要:本文详细介绍了基于STM32的PID温控系统的设计与实现,涵盖硬件选型、PID算法实现、温度传感器驱动、PWM驱动控制以及LCD显示等多个方面。系统采用STM32F103C8T6作为主控芯片,通过PID算法实现精确的温度控制,利用PWM驱动半导体制冷片实现加热和制冷的双向控制。文中提供了详细的代码示例,包括PID初始化、温度采集、PWM输出控制、LCD显示刷新等功能模块。此外,还讨论了常见的调试问题及解决方法,如积分限幅、温度传感器滤波、H桥驱动保护等。 适合人群:具有一定嵌入式开发基础的研发人员,特别是对PID控制算法和温控系统感兴趣的工程师。 使用场景及目标:适用于需要高精度温度控制的应用场合,如实验室设备、工业自动化控制系统等。目标是帮助读者掌握PID温控系统的原理和实现方法,能够独立搭建和调试类似的温控系统。 其他说明:文中提供的Proteus仿真文件可以帮助初学者更好地理解和验证系统的工作原理。完整的工程代码和仿真文件可以在评论区获取。

    2303040222橡胶232熊文栋(苯乙烯悬浮聚合)副本.pdf

    2303040222橡胶232熊文栋(苯乙烯悬浮聚合)副本.pdf

    MATLAB实现含冰蓄冷空调的CCHP-MG多时间尺度优化调度模型

    内容概要:本文详细介绍了如何使用MATLAB及其工具包yalmp和cplex实现含冰蓄冷空调的冷热电联供型微网(CCHP-MG)多时间尺度优化调度模型。主要内容涵盖日前计划和日内调度两大部分,前者通过多场景描述应对可再生能源的不确定性,后者提出双层滚动优化模型以适应冷热负荷变化。文中不仅展示了具体的MATLAB代码实现细节,如场景生成、优化模型构建以及求解方法,还讨论了一些调试过程中遇到的问题及解决方案。 适合人群:从事能源管理和电力系统优化的研究人员和技术人员,尤其是对MATLAB有一定基础并关注冷热电联供系统的从业者。 使用场景及目标:适用于希望深入了解CCHP-MG系统优化调度原理的人群,旨在帮助他们掌握如何利用MATLAB进行此类系统的建模与优化,从而提高能源利用率、降低运营成本。 其他说明:文章强调了冰蓄冷空调在CCHP-MG系统中的重要作用,指出其能够有效协调冷热电之间的关系,同时通过实例演示了如何处理实际运行中的不确定性和复杂性。此外,作者还分享了一些实用的经验教训,如场景削减技术和求解器设置优化等。

    nRF-Connect Android源码,开发ble手机app必备

    nRF-Connect Android源码,开发ble手机app必备

    mysql-connector-java-5.1.37.zip

    JDBC的Jar包

    基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计

    基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设

    MATLAB深度学习代码生成实践:图像分类、车辆检测与车道线识别的C++部署

    内容概要:本文详细介绍了如何利用MATLAB将预训练的深度学习模型(如ResNet50、YOLOv2和LaneNet)转化为高效的C++代码,并部署到嵌入式系统中。首先,通过ResNet50展示了图像分类任务的代码生成流程,强调了输入图像的预处理和归一化步骤。接着,YOLOv2用于车辆检测,讨论了anchor box的可视化及其优化方法,特别是在Jetson Nano平台上实现了显著的速度提升。最后,LaneNet应用于车道线识别,探讨了实例分割和聚类算法的实现细节,以及如何通过OpenMP和CUDA进行性能优化。文中还提供了多个实用技巧,如选择合适的编译器版本、处理自定义层和支持动态输入等。 适合人群:具有一定MATLAB和深度学习基础的研发人员,尤其是关注嵌入式系统和高性能计算的应用开发者。 使用场景及目标:适用于希望将深度学习模型高效部署到嵌入式设备的研究人员和工程师。主要目标是提高模型推理速度、降低内存占用,并确保代码的可移植性和易维护性。 其他说明:文中不仅提供了详细的代码示例和技术细节,还分享了许多实践经验,帮助读者避免常见的陷阱。此外,还提到了一些高级优化技巧,如SIMD指令集应用和内存管理策略,进一步提升了生成代码的性能。

    医学影像处理中CT滤波反投影算法的MATLAB实现详解

    内容概要:本文详细介绍了利用MATLAB实现CT成像仿真的全过程,特别是滤波反投影(FBP)算法的具体实现。首先,通过radon函数生成投影信号,接着进行傅立叶变换将投影数据映射到频域,在频域中应用Ram-Lak滤波器进行滤波,然后通过逆傅立叶变换回到时域,最后使用iradon函数完成反投影重建。文中不仅提供了完整的代码实现,还分享了许多实用的经验和注意事项,如补零操作、滤波器选择以及插值方法的影响等。 适合人群:从事医学影像处理的研究人员和技术爱好者,尤其是有一定MATLAB基础并希望深入了解CT成像原理的人群。 使用场景及目标:适用于想要深入理解CT成像原理及其具体实现方式的学习者。通过亲手实践,能够更好地掌握滤波反投影算法的工作机制,提高解决实际问题的能力。 其他说明:作者强调了传统FBP算法的重要性,并鼓励读者尝试不同的参数配置以获得更好的重建效果。此外,还提到了未来可以探索的方向,比如使用GPU加速反投影过程。

    汽车电控领域ESC标定开发全流程详解:从CAN通信到实车测试

    内容概要:本文详细介绍了ESC(电子稳定控制系统)的标定开发流程,涵盖标定前准备、参数调整实战、验证测试等多个方面。首先,标定前需要搭建控制器与上位机的连接,如编写Python CAN通讯工具。接着,在参数调整过程中,涉及到具体参数的选择与调整,如横摆角速度阈值、滑移率补偿等,并且需要注意数据溢出等问题。验证测试部分则强调了使用MATLAB进行离线数据分析以及处理实车数据中的异常值。此外,文章还讲述了标定工程师在不同环境下的实际工作经验,如极端天气下的标定挑战,以及如何通过调整PID控制器参数来优化车辆表现。最后,文章指出标定工作的终极目标是在确保安全的同时提升驾驶体验。 适合人群:从事汽车电控系统开发的技术人员,尤其是对标定工程师日常工作感兴趣的读者。 使用场景及目标:适用于希望深入了解ESC标定全过程的专业人士,旨在帮助他们掌握从理论到实践的具体方法和技术要点。 其他说明:文中不仅提供了具体的代码示例,还分享了许多宝贵的实际操作经验和教训,对于提高标定效率和准确性具有重要指导意义。

    安装zabbix保姆级教程-包含常见错误

    ‌一、环境准备‌ ‌操作系统‌ CentOS 7/8 或 Ubuntu 20.04 LTS(推荐)16 确保网络配置正确(IP、网关、DNS)6 关闭SELinux和防火墙(临时关闭命令:setenforce 0,systemctl stop firewalld)8 ‌依赖环境‌ 数据库:MySQL/MariaDB(版本需适配Zabbix)13 Web服务器:Apache/Nginx(需支持PHP)17 PHP版本:≥7.2(建议安装php-gd、php-mysqlnd等扩展)17 硬件要求:2核CPU、4GB内存、20GB磁盘1 ‌二、安装步骤(以CentOS 7为例)‌ ‌1. 安装Zabbix Server‌ bash Copy Code # 安装YUM源及依赖 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server:ml-citation{ref="7,8" data="citationList"} ‌2. 配置数据库‌ bash Copy Code # 启动数据库并创建Zabbix用户 systemctl start mariadb && systemctl enable mariadb mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin" mysql -e "GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabb

    无线通信XSCW6000模组使用手册:高性能大带宽远距离无线通讯模组应用指南

    内容概要:本文档是《星闪创为_XSCW6000模组使用手册》,版本为Rev1.1,由北京星闪创为科技有限公司发布。手册详细介绍了XSCW6000模组的法律声明、安全须知、模块选型、产品综述、应用接口、射频特性、电气性能和可靠性、机械尺寸以及生产及包装信息等内容。XSCW6000模组是一款支持5G ISM频段、80MHz带宽、SLB协议1.0版本的高性能无线通信模组,适用于大带宽音视频业务、网络游戏、智慧家庭、智慧工厂、体育场、演唱会、网络直播、应急等多种场景。手册还提供了详细的引脚分布、电源设计、天线设计要点及射频性能参数,确保用户能够正确使用和集成该模组。 适合人群:从事无线通信模块开发的技术人员、硬件工程师及相关领域的研发人员。 使用场景及目标:①帮助用户了解XSCW6000模组的基础特性、功能框图、引脚分布等信息;②指导用户完成正确的电源设计、天线选择及射频性能优化;③确保用户在实际应用中遵循安全使用规范,保障产品稳定性和可靠性。 其他说明:此手册为受控版本,版权归属于星闪创为,未经许可不得复制或传播。手册内容会根据实际情况进行更新,建议用户定期查阅最新版本。星闪创为提供技术支持与服务,如有疑问可通过指定联系方式咨询。

    基于MATLAB的两阶段鲁棒优化Benders分解算法实践与详解

    内容概要:本文详细介绍了利用MATLAB和YALMIP工具包实现两阶段鲁棒优化问题的Benders分解方法。主要内容涵盖主问题和子问题的建模、割平面的生成逻辑以及算法的迭代过程。文中通过具体的代码实例解释了如何定义变量、约束条件、目标函数,并展示了如何通过不断的迭代使上下界逐渐收敛,从而找到最优解。同时,文章还讨论了一些常见的实现细节和潜在的陷阱,如对偶变量的提取、不确定性集合的设计、初始割的添加等。 适合人群:具有一定MATLAB编程基础并希望深入了解优化算法的研究人员和技术爱好者。 使用场景及目标:适用于解决带有不确定性的优化问题,尤其是涉及到资源分配、生产计划等领域的问题。通过学习本文,读者可以掌握Benders分解的基本原理及其在MATLAB环境下的具体实现方法。 其他说明:文章提供了完整的代码示例,并附有详细的注释帮助理解每个步骤的作用。此外,作者还分享了许多实用的小技巧来提高算法效率和稳定性,如采用稀疏矩阵存储、动态调整收敛阈值等。

    微网领域基于改进二进制粒子群算法的含需求响应机组组合问题研究及MATLAB实现

    内容概要:本文深入探讨了在微网环境中,利用改进的二进制粒子群算法(IBPSO)解决含需求响应的机组组合问题。研究背景指出,随着能源结构的变化,微网系统日益重要,而需求响应(DR)的引入为提高微网运行效率提供了新思路。文中详细介绍了机组组合的基本模型及其扩展模型,后者将需求响应纳入考虑范围。接着,重点讲解了改进二进制粒子群算法的具体实现步骤,包括粒子位置和速度的更新规则。此外,还展示了基于MATLAB和CPLEX/Gurobi平台的仿真实验结果,验证了改进算法的有效性。最终,通过详细的代码注释和丰富的可视化工具,使得整个研究过程更加透明易懂。 适合人群:从事电力系统优化、微网管理及相关领域研究的专业人士和技术爱好者。 使用场景及目标:适用于需要优化微网系统运行效率的实际工程应用,特别是在处理大规模机组组合问题时,能够显著降低成本并提高系统稳定性。目标是帮助研究人员理解和掌握改进二进制粒子群算法的应用技巧,促进需求响应机制在电力系统中的广泛应用。 其他说明:本文不仅提供了完整的MATLAB代码实现,还包括详尽的理论推导和实验数据分析,有助于读者全面理解该课题的技术细节。同时,附带的可视化模块可以帮助用户更好地解读求解结果,便于进一步优化和调整参数。

    LTspice仿真:LDO及模拟集成电路电源设计与分析工具

    内容概要:本文详细介绍了使用LTspice进行LDO(低压差线性稳压器)及其相关模拟集成电路的电源设计与分析方法。首先,文章讲解了如何利用AC分析评估环路稳定性和相位裕度,确保系统的稳定性。接着,探讨了电源抑制比(PSRR)的测试方法,通过加入交流扰动源来测量输出端的衰减情况。此外,还讨论了负载瞬态响应测试,通过施加脉冲电流源来观察输出电压的变化。文中提供了具体的SPICE代码示例,如AC分析、PSRR测试和瞬态负载测试的代码片段,并强调了库文件的使用和注意事项。最后,分享了一些实用技巧,如保存常用测试电路为模板、调整元件参数以提高仿真精度等。 适合人群:电子工程专业学生、模拟电路设计师以及对LDO设计感兴趣的工程师。 使用场景及目标:① 学习如何使用LTspice进行LDO电路的稳定性分析;② 掌握电源抑制比(PSRR)的测试方法;③ 进行负载瞬态响应测试,优化补偿网络设计。 其他说明:本文不仅提供理论指导,还附带具体的操作步骤和代码示例,使读者能够快速上手并深入理解LDO设计的关键技术和常见问题。

    基于Qt和OpenCV的C++车牌识别系统:传统阈值分割与机器学习方法的应用

    内容概要:本文详细介绍了如何使用C++、Qt和OpenCV构建一个车牌识别系统。首先,通过颜色空间转换和边缘检测进行车牌定位,利用HSV颜色空间和形态学操作去除噪声并找到候选区域。接着,采用SVM和支持向量机进行字符识别,提取HOG特征并训练模型。字符切割则使用垂直投影法处理粘连字符。数据库方面,使用Qt的SQL模块将识别结果保存到SQLite或MySQL数据库中。视频流处理通过Qt的QMediaPlayer和QVideoProbe实现,确保系统的实时性和稳定性。为了提高性能,引入了多线程处理,分离图像处理和界面刷新任务。 适合人群:具有一定C++编程基础,熟悉Qt和OpenCV库的开发者,尤其是对图像处理和机器学习感兴趣的工程师。 使用场景及目标:适用于需要开发车牌识别系统的应用场景,如停车场管理、交通监控等。主要目标是帮助开发者理解和实现车牌识别的关键技术和优化方法。 其他说明:文中提供了详细的代码片段和技术细节,强调了传统方法与机器学习相结合的优势,并分享了一些实战经验和常见问题的解决方案。

Global site tag (gtag.js) - Google Analytics