【cad标注源码】【csframework源码】【threadlocalmap源码】jdk源码 jsse

时间:2024-11-30 00:24:05 来源:eclipse运行java源码 编辑:学生请假信息管理系统源码

1.javax.crypto.Cipher; javax.crypto.KeyGenerator;这两个类库在哪?
2.jbuilder2006安装完了后,把.java文件添加到工程后,运行工程,为什么出错呢
3.一次MySQL Connector升级引发连接失败的排查之路
4.怎么在JDK中找到jsse扩展包
5.JAVA学习笔记JDK6和7的区别?

jdk源码 jsse

javax.crypto.Cipher; javax.crypto.KeyGenerator;这两个类库在哪?

       两种方式,导入:

       由于默认是不包含安全相关包

       1、删除整个依赖包,cad标注源码重新倒入java系统包,会包含进去

       a、删除包

       b、添加包

       c、选择JRE 系统包

       d、选择默认的工作空间的jre包

       e、可以看到jce(Java Cryptography Extension)、csframework源码jsse(Java Secure Sockets Extension)、这些安全包已经导入了

        

        

       2、主动倒入缺少的安全包,下面截图是位置所在

       eg:

jbuilder安装完了后,把.java文件添加到工程后,运行工程,为什么出错呢

       没有在Library下配JAR包,,

       避免加得不全,你就把所有得架包一齐加上就OK啦,,不过,肯定加了有部分没用得,,threadlocalmap源码不过也不会碍事得!

       要是你那没有那么多包,加我QQ,我在详细告诉你包名!!

一次MySQL Connector升级引发连接失败的排查之路

       农行研发中心“数风云”团队,致力于农行大数据、数据库和云计算等领域的应用实践与技术创新。郭斌斌,作为爱可生DBA团队的一员,专注于MySQL数据库及爱可生云树DMP产品的日常运维,擅长数据库故障处理。cmt源码

       现象描述:在升级IBM jdk1.8.0至8.0.版本后,使用mysql-connector-java-8.0.进行升级,却遇到“javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)”的连接失败问题。在使用openjdk 1.8版本时,升级MySQL驱动能够正常连接。

       初步分析:怀疑是IBM jdk1.8版本中支持的协议或加密套件老旧,导致SSL连接握手失败。

       分析过程:

       1. 官网资料分析:MySQL驱动在尝试连接MySQL 8.0时,会尝试使用TLS版本:TLSv1,TLSv1.1,TLSv1.2,TLSv1.3。ecb源码驱动TLS配置文件TlsSettings.properties中Cipher suites已预先进行了限制,且MySQL支持的Cipher suites均已TLS开头。然而,8.0.版本的驱动没有此配置文件。

       2. IBM JSSE2支持的协议和套件:IBM JSSE2默认支持协议:SSL, TLS, TLSv1, TLSv1.1, TLSv1.2。部分Cipher suites在ORACLE中以“TLS”开头,而在IBM SDK中以”SSL”开头。IBM JSSE2中个Cipher suites中个以SSL开头,4个以TLS开头。

       3. 抓包分析:通过脚本分析,发现IBM jdk1.8+mysql-connector-java-8.0.组合下,日志显示依次尝试使用TLS、TLS、TLS、TLS协议,但没有可用的加密套件。在添加com.ibm.jsse2.overrideDefaultCSName=true参数后,成功连接MySQL。同时,添加javax.net.debug=true观察到握手阶段选择了TLSv1.2和cipher suite: TLS_ECDHE_RSA_WITH_AES__GCM_SHA。MySQL connector 8.0.在建立TLS连接时已选择TLSv1.2和cipher suite列表,列表中大部分cipher suite以“SSL”开头。

       MySQL connector 8.0.未对cipher suite进行TLS限制,故能成功连接。驱动升级至8.0.或8.0.版本后,MySQL对cipher suite进行了限制,且均已TLS开头。而IBM JSSE2中的大部分套件仍保持以SSL开头的命名,导致连接握手失败。

       解决方案:

       1. 方案1:建议升级IBM jdk版本以兼容MySQL协议和加密套件,但此方案不可行。

       2. 方案2:依据IBM官方文档建议将系统参数com.ibm.jsse2.overrideDefaultCSName设置为true。在IBM jdk1.8.0_+MySQL connector 8.0.上通过脚本调用方式连接成功。需在WAS中配置过程如下:服务器-您的服务器-进程定义-java虚拟机-定制属性,添加:com.ibm.jsse2.overrideDefaultCSName=true。最终需将WAS环境上的jdk升级至1.8.0_,并使用com.ibm.jsse2.overrideDefaultCSName=true才能生效。

       3. 方案3:使用jdbc连接带上参数useSSL=false和allowPublicKeyRetrieval=true,连接成功。此方案作为IBM jdk升级之前的缓释方案供项目组临时采用。配置参数AllowPublicKeyRetrieval=True,需谨慎开启,避免恶意代理通过中间人攻击获取明文密码。

       4. 方案4:尝试使用JDK 1.8.0_及额外参数,但未生效。

       经过验证,最终采用方案2:升级jdk并使用com.ibm.jsse2.overrideDefaultCSName=true的组合方案。

       欢迎广大技术人员投稿至:editor@dbaplus.cn

怎么在JDK中找到jsse扩展包

       SSL协议通信涉及密钥储存的文件格式比较多,很容易搞混,例如xxx.cer、xxx.pfx、xxx.jks、xxx.keystore、xxx.truststore等格式文件。

       搞清楚他们有助于理解后面的程序,.cer格式文件俗称证书,但这个证书中没有私钥,只包含了公钥;.pfx格式文件也称为证书,它一般供使用,而且它不仅包含了公钥,还包含了私钥,当然这个私钥是加密的,不输入密码是解不了密的;.jks格式文件表示java密钥存储器(javakey store),它可以同时容纳N个公钥跟私钥,是一个密钥库;

JAVA学习笔记JDK6和7的区别?

       æ–°ç‰¹æ€§ä¸€è§ˆè¡¨ï¼š

       Swing

       æ–°å¢ž JLayer 类,是一个灵活而且功能强大的Swing组件修饰器,使用方法:How to Decorate Components with JLayer.

       Nimbus Look and Feel 外观从 com.sun.java.swing 包移到 javax.swing 包中,详情:javax.swing.plaf.nimbus

       æ›´è½»æ¾çš„重量级和轻量级组件的混合

       æ”¯æŒé€æ˜Žçª—体以及非矩形窗体的图形界面,请看 How to Create Translucent and Shaped Windows

       JColorChooser 类新增 HSV tab.

       ç½‘络

       æ–°å¢ž URLClassLoader.close 方法,请看 Closing a URLClassLoader.

       æ”¯æŒ Sockets Direct Protocol (SDP) 提供高性能网络连接,详情请看 Understanding the Sockets Direct Protocol.

       é›†åˆ

       æ–°å¢ž TransferQueue 接口,是 BlockingQueue 的改进版,实现类为 LinkedTransferQueue

       RIA/发布

       æ‹–拽的小程序使用一个默认或者定制的标题进行修饰,详情:Requesting and Customizing Applet Decoration in Draggable Applets.

       JNLP 文件做了如下方面的增强,详情请看 JNLP File Syntax:

       The os attribute in the information and resources elements can now contain specific versions of Windows, such as Windows Vista or Windows 7.

       Applications can use the install attribute in the shortcut element to specify their their desire to be installed. Installed applications are not removed when the Java Web Start cache is cleared, but can be explicitly removed using the Java Control Panel.

       Java Web Start applications can be deployed without specifying the codebase attribute; see Deploying Without Codebase

       å¯ç›´æŽ¥åœ¨ HTML 中嵌入 JNLP 文件:Embedding JNLP File in Applet Tag.

       å¯åœ¨ JavaScript 代码中检查 Applet 是否已经加载完成:Handling Initialization Status With Event Handlers.

       å¯åœ¨ Applet 从快捷方式启动或者拖出浏览器时对窗口样式和标题进行控制:Requesting and Customizing Applet Decoration in Developing Draggable Applets.

       XML

       åŒ…含 Java API for XML Processing (JAXP) 1.4.5, 支持 Java Architecture for XML Binding (JAXB) 2.2.3, 和 Java API for XML Web Services (JAX-WS) 2.2.4.

       java.lang 包

       æ¶ˆé™¤äº†åœ¨å¤šçº¿ç¨‹çŽ¯å¢ƒä¸‹çš„非层次话类加载时导致的潜在死锁,详情:Multithreaded Custom Class Loaders in Java SE 7.

       Java 虚拟机

       æ”¯æŒéž Java 语言: Java SE 7 引入一个新的 JVM 指令用于简化实现动态类型编程语言

       Garbage-First Collector 是一个服务器端的垃圾收集器用于替换 Concurrent Mark-Sweep Collector (CMS).

       æå‡äº† Java HotSpot 虚拟机的性能

       Java I/O

       java.nio.file 包以及相关的包 java.nio.file.attribute 提供对文件 I/O 以及访问文件系统的全面支持,请看 File I/O (featuring NIO.2).

       ç›®å½• <Java home>/sample/nio/chatserver/ 包含使用 java.nio.file 包的演示程序

       ç›®å½• <Java home>/demo/nio/zipfs/ 包含 NIO.2 NFS 文件系统的演示程序

       å®‰å…¨æ€§

       æ–°çš„内置对多个基于 ECC 算法(ECDSA/ECDH)的支持,详情请看:Sun PKCS# Provider's Supported Algorithms in Java PKCS# Reference Guide.

       ç¦ç”¨äº†ä¸€äº›å¼±åŠ å¯†ç®—法,详情请看 Appendix D: Disabling Cryptographic Algorithms in Java PKI Programmer's Guide and Disabled Cryptographic Algorithms in Java Secure Socket Extension (JSSE) Reference Guide.

       Java 安全套接字扩展中对 SSL/TLS 的增强

       å¹¶å‘

       fork/join 框架,基于 ForkJoinPool 类,是 Executor 接口的实现,设计它用来进行高效的运行大量任务;使用 work-stealing 技术用来保证大量的 worker 线程工作,特别适合多处理器环境,详情请看 Fork/Join

       ç›®å½•<Java home>/sample/forkjoin/ 包含了 fork/join 框架的演示程序

       ThreadLocalRandom ç±»class 消除了使用伪随机码线程的竞争,请看 Concurrent Random Numbers.

       Phaser 类是一个新的同步的屏障,与 CyclicBarrier 类似.

       Java 2D

       ä¸€ä¸ªæ–°çš„基于 XRender 的 Java 2D 渲染管道支持现在的 X 桌面,改善了图形性能,请看 System Properties for Java 2D Technology 中的 xrender .

       JDK 可枚举并显示出已安装的 OpenType/CFF 字体,通过GraphicsEnvironment.getAvailableFontFamilyNames 方法 See Selecting a Font.

       TextLayout 类支持西藏语脚本

       libfontconfig, 是一个字体配置 api ,see Fontconfig.

       å›½é™…化

       æ”¯æŒ Unicode 6.0.0

       ç›®å½• <Java home>/demo/jfc/Font2DTest/ 包含 Unicode 6.0 的演示程序

       Java SE 7 可容纳在 ISO 中新的货币,详情请看 Currency ç±».

       Java 编程语言特性

       äºŒè¿›åˆ¶æ•°å­—表达方式

       ä½¿ç”¨ä¸‹åˆ’线对数字进行分隔表达,例如 1__

       switch 语句支持字符串变量

       æ³›åž‹å®žä¾‹åˆ›å»ºçš„类型推断

       ä½¿ç”¨å¯å˜å‚数时,提升编译器的警告和错误信息

       try-with-resources 语句

       åŒæ—¶æ•èŽ·å¤šä¸ªå¼‚常处理

       JDBC 4.1

       æ”¯æŒä½¿ç”¨ try-with-resources 语句进行自动的资源释放,包括连接、语句和结果集

       æ”¯æŒ RowSet 1.1

copyright © 2016 powered by 皮皮网   sitemap