<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Java Security and Networking</title><link>http://pipes.yahoo.com/pipes/pipe.info?_id=_rn8QKpg3hGZt64je0xjxw</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/javasec" /><description>Pipes Output</description><language>en</language><generator>http://pipes.yahoo.com/pipes/</generator><atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=_rn8QKpg3hGZt64je0xjxw&amp;_render=rss&amp;page=2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/javasec" /><feedburner:info uri="javasec" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>by Weijun   - Re-read [capaths]</title><link>http://feedproxy.google.com/~r/javasec/~3/8-BI9TDjDEk/re_read_capaths</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 24 Apr 2013 03:06:37 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/re_read_capaths</guid><description>Discovery


[capaths] does not have the same meaning in JDK and the rest of the world (See references at the bottom).


In JDK, each line describes a relation and one needs to consult multiple relations to create a path. In the rest of the world, each line itself is a path.


So, suppose shared keys are between A and B, B and C, and, C and D. For a client in A, in order to visit a service in D, it needs A -&amp;gt; B -&amp;gt; C -&amp;gt; D.


In JDK, the capaths is written as

A = {
   B = .     # I can go B directly
   C = B     # To go C, I need to go B first
   D = C     # To go D, I need to go C...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/8-BI9TDjDEk" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/re_read_capaths</feedburner:origLink></item><item><title>by Weijun   - A Test for 2013</title><link>http://feedproxy.google.com/~r/javasec/~3/PqcQoalV-kY/a_test_for_2013</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Fri, 04 Jan 2013 19:01:57 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/a_test_for_2013</guid><description>I want to see if this blog and its commenting system still works.




Update: Aha, I have to manually approve each comment.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/PqcQoalV-kY" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/a_test_for_2013</feedburner:origLink></item><item><title>by Xuelei Fan - TLS Server Name Indication Extension and Unrecognized_name</title><link>http://feedproxy.google.com/~r/javasec/~3/IsNrxughGl0/tls-server-name-indication-extension.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Fri, 15 Jun 2012 12:42:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-870129663705367366</guid><description>It's getting hot that some TLS/HTTPS server failed with "unrecognized_name". For example, the Adobe AIR 3 Code Signing Certificate Problem, the ADT handshake alert, and the jarsigner issue with timestamp.geotrust.com, etc. This entry will discussion some background of the "unrecognized_name" alert, and the TLS Server Name Indication (SNI) extension.








Background 
"Unrecognized_name" is an error alert, define by RFC4366.&amp;nbsp; In section 4 of RFC4366:



   -  "unrecognized_name": this alert is sent by servers that receive a
      server_name extension request, but do not recognize the...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/IsNrxughGl0" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2012/06/tls-server-name-indication-extension.html</feedburner:origLink></item><item><title>by Xuelei Fan - NIST Security Strength Time Frames</title><link>http://feedproxy.google.com/~r/javasec/~3/Ba3q2Rotd0M/nist-security-strength-time-frames.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Mon, 23 Apr 2012 23:36:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-3414045861903059114</guid><description>Security Strength Time Frames of NIST SP 800-57 Part 1


Security Strength80112128192256

applying
processing
applying
processing





through 2010
acceptable
acceptable 
acceptable 
acceptable 
acceptable 
acceptable 
acceptable


2011 through2013
deprecated 
legacy use 
acceptable 
acceptable 
acceptable 
acceptable 
acceptable 


2014 through 2030 
disallowed 
legacy use 
acceptable 
acceptable 
acceptable 
acceptable 
acceptable 


2031 and Beyond
disallowed 
legacy use 
disallowed 
legacy use 
acceptable 
acceptable 
acceptable 





Symmetric Algorithms
2TDEA
3TDEA
AES-128 
AES-192...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Ba3q2Rotd0M" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2012/04/nist-security-strength-time-frames.html</feedburner:origLink></item><item><title>by Xuelei Fan - SSL Server Test Online Service</title><link>http://feedproxy.google.com/~r/javasec/~3/tNwfxCBR80o/ssl-server-test-online-service.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 26 Jan 2012 10:20:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-8572824867784768928</guid><description>The SSL Server Test Online Service performs a deep analysis of the configuration of any SSL web server on the public Internet. It's a great web service to test the quality of a SSL web server.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/tNwfxCBR80o" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2012/01/ssl-server-test-online-service.html</feedburner:origLink></item><item><title>by Xuelei Fan - Another Challenge of Hash Functions</title><link>http://feedproxy.google.com/~r/javasec/~3/3-SCUL0MGDA/another-challenge-of-hash-functions.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 29 Dec 2011 22:00:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-70753160449931398</guid><description>No comments, please refer to the following docs: "Hash Table Collision Attacks Could Trigger DDoS on a Massive Scale | SecurityWeek.Com" and the research from n.runs AG&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/3-SCUL0MGDA" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/12/another-challenge-of-hash-functions.html</feedburner:origLink></item><item><title>by Xuelei Fan - Search and Replace Strings in Files Under a Certain Directory</title><link>http://feedproxy.google.com/~r/javasec/~3/lxX0aT_RE3c/search-and-replace-strings-in-files.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 29 Dec 2011 10:52:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-9064591410092756460</guid><description>As simple as: 

$ find thePath -type f -name theFileNamePattern |xargs &amp;#92;
  perl -e "s/toBeReplacedString/newString/g" -pi&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/lxX0aT_RE3c" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/12/search-and-replace-strings-in-files.html</feedburner:origLink></item><item><title>by Weijun   - Old Versions of Cisco AnyConnect and Java 6u29</title><link>http://feedproxy.google.com/~r/javasec/~3/uWgfOQcK2SQ/old_versions_of_cisco_anyconnect</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 07 Nov 2011 10:33:54 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/old_versions_of_cisco_anyconnect</guid><description>In Oracle Java 6u14, we introduced blacklist support. The blacklist "is a list of signed jars that contain serious security vulnerabilities that can be exploited by untrusted applets or applications". Once a signed jar is listed here, it will never be loaded. Recently, in 6u29, we added more entries into the list. Some of them are for the Cisco AnyConnect Mobility Client, and you can see why this is a very serious problem on Cisco's own support page.



Unfortunately, it seems quite a lot of AnyConnect servers out there are not updated to the latest version. Some are not that ancient, which...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/uWgfOQcK2SQ" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/old_versions_of_cisco_anyconnect</feedburner:origLink></item><item><title>by Xuelei Fan - A proposal to countermeasure BEAST attack</title><link>http://feedproxy.google.com/~r/javasec/~3/o0DK3vy1tLo/proposal-to-countermeasure-beast-attack.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sun, 06 Nov 2011 11:35:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-3932158844803100894</guid><description>I posted the proposal to countermeasure the BEAST attack in Bug 665814 at Bugzilla@Mozilla. For quick reference, I copy it in the blog:



Xuelei Fan                                                  2011-07-20 20:35:42 PDT&amp;nbsp;         Comment 59:

One significant drawback of the current proposed countermeasure
(sending empty application data packets) is that the empty packet
might be rejected by the TLS peer (see comments #30/#50/others:  MSIE
does not accept empty fragments, Oracle application server (non-JSSE)
cannot accept empty fragments, etc.)

We've been looking at a slightly...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/o0DK3vy1tLo" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/11/proposal-to-countermeasure-beast-attack.html</feedburner:origLink></item><item><title>by Xuelei Fan - Java SE 7 New Features Ed 1 course</title><link>http://feedproxy.google.com/~r/javasec/~3/jofmNYXrd1M/java-se-7-new-features-ed-1-course.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Fri, 26 Aug 2011 11:17:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-1171936132344057159</guid><description>The first of the Java SE 7 courses - D72697GC10        - Java SE 7 New Features Ed 1 is now on the public schedule       on education.oracle.com.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/jofmNYXrd1M" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/08/java-se-7-new-features-ed-1-course.html</feedburner:origLink></item><item><title>by Xuelei Fan - JSSE Oracle Provider Default Disabled TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/Vojzn8ffs64/jsse-oracle-provider-default-disabled.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sun, 07 Aug 2011 11:04:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-3315800580748679286</guid><description>The following TLS cipher suites are supported by Oracle provider, SunJSSE. These cipher suites are disabled by default because of one of the following reasons:

obsoleted weak cipher suites
anonymous cipher suites
no encryption cipher suites (null cipher)
Kerberos cipher suites
Cipher suites for Kerberos (KRB5) need additional KRB5 service configuration, and these cipher suites are not common in practice.



You are NOT supposed to use these cipher suites unless you really know what you're doing from a standpoint. 

    
   Perference   Value   Description  
   1   0x00,0x6D  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Vojzn8ffs64" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/08/jsse-oracle-provider-default-disabled.html</feedburner:origLink></item><item><title>by Xuelei Fan - Java™ SE 7 Release Security Enhancements - Weak Cryptography Control</title><link>http://feedproxy.google.com/~r/javasec/~3/1CmjfL-ntfQ/java-se-7-release-security-enhancements.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 30 Jul 2011 21:09:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-1830440802989852330</guid><description>Weak cryptographic algorithms can now be disabled in Java SE 7 release. The MD2 Message-Digest Algorithm was disabled by default in Sun PKIX provider and SunJSSE provider.



The MD2 algorithm  is a cryptographic hash function developed by Ronald Rivest in 1989, and was published in 1992 as an Informational RFC (RFC 1319).; RFC 6149 moves RFC 1319/MD2 to historic status, "Since its publication, MD2 has been shown to not be collision-free, albeit successful collision attacks for properly implemented MD2 are not that damaging.  Successful pre-image and second pre-image attacks against MD2 have...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/1CmjfL-ntfQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/java-se-7-release-security-enhancements.html</feedburner:origLink></item><item><title>by Xuelei Fan - Time of ECC Algorithms in Web Services?</title><link>http://feedproxy.google.com/~r/javasec/~3/PYvTbS9Yov0/time-of-ecc-algorithms-in-web-services.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 28 Jul 2011 18:56:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-8446443370591876287</guid><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://2.bp.blogspot.com/-uUdJPjQlfzY/TjI5nI4P-yI/AAAAAAAAAFA/eZE_NBdelnc/s72-c/browser_market_share_2011_06.png" width="72" /><description>It's a question, the answer depends on your application deployment. The browser market share in the following pie may be a fact of your consideration. From previous posts, I learned that out of the major market players, only Opera does not support ECC TLS cipher suites yet.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/PYvTbS9Yov0" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/time-of-ecc-algorithms-in-web-services.html</feedburner:origLink></item><item><title>by Xuelei Fan - Oracle Launches Java 7</title><link>http://feedproxy.google.com/~r/javasec/~3/t57VjIcHbOM/oracle-launches-java-7.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 28 Jul 2011 10:37:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-1696161623517851342</guid><description>Source: www.oracle.com. Oracle Announces Availability of Java SE 7, you are able to download and try Java SE 7 right now.



You may also want to know Java™ SE 7 Release Security Enhancements. I may publish new post to introduce the new security features in the blog.  Stay Tuned!&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/t57VjIcHbOM" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/oracle-launches-java-7.html</feedburner:origLink></item><item><title>by Xuelei Fan - JSSE Oracle Provider Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/09wKMHdO6Ac/jsse-oracle-provider-preference-of-tls.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 13:32:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-7911260212831937784</guid><description>Perference Order   Value   Description  
   1   0xC0,0x24   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384  
   2   0xC0,0x28   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384  
   3   0x00,0x3D   TLS_RSA_WITH_AES_256_CBC_SHA256  
   4   0xC0,0x26   TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384  
   5   0xC0,0x2A   TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384  
   6   0x00,0x6B   TLS_DHE_RSA_WITH_AES_256_CBC_SHA256  
   7   0x00,0x6A   TLS_DHE_DSS_WITH_AES_256_CBC_SHA256  
   8   0xC0,0x0A   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  
   9   0xC0,0x14   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  
   10   0x00,0x35  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/09wKMHdO6Ac" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/jsse-oracle-provider-preference-of-tls.html</feedburner:origLink></item><item><title>by Xuelei Fan - Browser Safari Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/KQbjAVM2KhI/browser-safari-preference-of-tls-cipher.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 13:01:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-3784290163998668278</guid><description>Perference Order   Value   Description  
   1   0x00,0x2F   TLS_RSA_WITH_AES_128_CBC_SHA  
   2   0x00,0x35   TLS_RSA_WITH_AES_256_CBC_SHA  
   3   0x00,0x05   TLS_RSA_WITH_RC4_128_SHA  
   4   0x00,0x0A   TLS_RSA_WITH_3DES_EDE_CBC_SHA  
   5   0xC0,0x13   TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA  
   6   0xC0,0x14   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  
   7   0xC0,0x09   TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA  
   8   0xC0,0x0A   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  
   9   0x00,0x32   TLS_DHE_DSS_WITH_AES_128_CBC_SHA  
   10   0x00,0x38   TLS_DHE_DSS_WITH_AES_256_CBC_SHA  
   11   0x00,0x13  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/KQbjAVM2KhI" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/browser-safari-preference-of-tls-cipher.html</feedburner:origLink></item><item><title>by Xuelei Fan - Browser Opera Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/RefM1ZzDFs4/browser-opera-preference-of-tls-cipher.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 12:51:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-2105114530099244283</guid><description>Perference

Order   Value   Description  
   1   0x00,0xFF   TLS_EMPTY_RENEGOTIATION_INFO_SCSV [1]  
   2   0x00,0x6B   TLS_DHE_RSA_WITH_AES_256_CBC_SHA256  
   3   0x00,0x6A   TLS_DHE_DSS_WITH_AES_256_CBC_SHA256  
   4   0x00,0x69   TLS_DH_RSA_WITH_AES_256_CBC_SHA256  
   5   0x00,0x68   TLS_DH_DSS_WITH_AES_256_CBC_SHA256  
   6   0x00,0x3D   TLS_RSA_WITH_AES_256_CBC_SHA256  
   7   0x00,0x39   TLS_DHE_RSA_WITH_AES_256_CBC_SHA  
   8   0x00,0x38   TLS_DHE_DSS_WITH_AES_256_CBC_SHA  
   9   0x00,0x37   TLS_DH_RSA_WITH_AES_256_CBC_SHA  
   10   0x00,0x36   TLS_DH_DSS_WITH_AES_256_CBC_SHA  
  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/RefM1ZzDFs4" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/browser-opera-preference-of-tls-cipher.html</feedburner:origLink></item><item><title>by Xuelei Fan - Google Chrome Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/iHmYLReXQII/google-chrome-preference-of-tls-cipher.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 12:37:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-6514561021947459239</guid><description>Perference Order   Value   Description  
   1   0xC0,0x0A   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  
   2   0xC0,0x14   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  
   3   0x00,0x88   TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  
   4   0x00,0x87   TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  
   5   0x00,0x39   TLS_DHE_RSA_WITH_AES_256_CBC_SHA  
   6   0x00,0x38   TLS_DHE_DSS_WITH_AES_256_CBC_SHA  
   7   0xC0,0x0F   TLS_ECDH_RSA_WITH_AES_256_CBC_SHA  
   8   0xC0,0x05   TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA  
   9   0x00,0x84   TLS_RSA_WITH_CAMELLIA_256_CBC_SHA  
   10   0x00,0x35   TLS_RSA_WITH_AES_256_CBC_SHA  
...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/iHmYLReXQII" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/google-chrome-preference-of-tls-cipher.html</feedburner:origLink></item><item><title>by Xuelei Fan - Internet Explorer Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/nUcxRY7TfLw/internet-explorer-preference-of-tls.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 12:22:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-1449299707147411568</guid><description>Perference Order   Value   Description  
   1   0x00,0x3C   TLS_RSA_WITH_AES_128_CBC_SHA256  
   2   0x00,0x2F   TLS_RSA_WITH_AES_128_CBC_SHA  
   3   0x00,0x3D   TLS_RSA_WITH_AES_256_CBC_SHA256  
   4   0x00,0x35   TLS_RSA_WITH_AES_256_CBC_SHA  
   5   0x00,0x05   TLS_RSA_WITH_RC4_128_SHA  
   6   0x00,0x0A   TLS_RSA_WITH_3DES_EDE_CBC_SHA  
   7   0xC0,0x27   TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256  
   8   0xC0,0x13   TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA  
   9   0xC0,0x14   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  
   10   0xC0,0x2B   TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256  
   11   0xC0,0x23  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/nUcxRY7TfLw" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/internet-explorer-preference-of-tls.html</feedburner:origLink></item><item><title>by Xuelei Fan - Firefox Preference of TLS Cipher Suites</title><link>http://feedproxy.google.com/~r/javasec/~3/v5m7mydz2Ss/firefox-preference-of-tls-cipher-suites.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 12:06:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-6748749188200590082</guid><description>Order   Value   Description  
   1   0xC0,0x0A   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  
   2   0xC0,0x14   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  
   3   0x00,0x88   TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  
   4   0x00,0x87   TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  
   5   0x00,0x39   TLS_DHE_RSA_WITH_AES_256_CBC_SHA  
   6   0x00,0x38   TLS_DHE_DSS_WITH_AES_256_CBC_SHA  
   7   0xC0,0x0F   TLS_ECDH_RSA_WITH_AES_256_CBC_SHA  
   8   0xC0,0x05   TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA  
   9   0x00,0x84   TLS_RSA_WITH_CAMELLIA_256_CBC_SHA  
   10   0x00,0x35   TLS_RSA_WITH_AES_256_CBC_SHA  
   11  ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/v5m7mydz2Ss" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/firefox-preference-of-tls-cipher-suites.html</feedburner:origLink></item><item><title>by Xuelei Fan - Compare TLS Cipher Suites for Web Browsers</title><link>http://feedproxy.google.com/~r/javasec/~3/cRKj56TC-mI/compare-tls-cipher-suites-for-web.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 23 Jul 2011 01:22:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-750308600213267152</guid><description>The following table compares the default TLS cipher suites supported and enabled by web browsers [SOURCE] and Java SE 7. The comparison is not to show which browser is better, it is just a reference. ;-) Meanwhile, it does not mean the more cipher suites the browser supports, the better the browser is supposed to be.




ValueDescriptionReferenceFirefox 5.0IE 9.0Chrome 14.0Opera 11.50Safari 5.0Java SE 7
 ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/cRKj56TC-mI" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/compare-tls-cipher-suites-for-web.html</feedburner:origLink></item><item><title>by Xuelei Fan - Compare TLS Extensions for Web Browsers</title><link>http://feedproxy.google.com/~r/javasec/~3/rhF0VeTx51k/compare-tls-extensions-for-web-browsers.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Fri, 22 Jul 2011 22:50:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-7077082767163303732</guid><description>A table worth a thousand words! ;-)




ValueExtension nameReferenceFirefox 5.0IE 9.0Chrome 14.0Opera 11.50Safari 5.0Java SE 7
0server_nameRFC 6066√√√√√√
1max_fragment_lengthRFC 6066
2client_certificate_urlRFC 6066
3trusted_ca_keysRFC 6066
4truncated_hmacRFC 6066
5status_requestRFC 6066√√√
6user_mappinRFC 4681
7client_authzRFC 5878
8server_authzRFC 5878
9cert_typeRFC 6091
10elliptic_curvesRFC 4492√√√√√
11ec_point_formatsRFC 4492√√√√√
12srpRFC 5054
13signature_algorithms[1]RFC 5246√√√
14use_srtpRFC 5746
35SessionTicket TLSRFC...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/rhF0VeTx51k" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/compare-tls-extensions-for-web-browsers.html</feedburner:origLink></item><item><title>by Xuelei Fan - Countermeasures to Neutralize TLS Renegotiation MITM Vulnerability in JAVA</title><link>http://feedproxy.google.com/~r/javasec/~3/wJePsBx7lfU/countermeasures-to-neutralize-tls.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Wed, 20 Jul 2011 01:33:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-8029428828914890314</guid><description>The protocol level TLS renegotiation Man-In-The-Middle (MITM) vulnerability has already been fully fixed in Java SE for quite a while.&amp;nbsp; The following table shows the status of JDK/JRE releases and updates to neutralize the vulnerability in Java.




Renegotiation is VulnerableRenegotiation is DisabledRenegotiation is Secure
JDK/JRE 7N/AN/AAll releases
JDK/JRE 6Update 18 and earlierUpdates 19-21Update 22
JDK/JRE 5.0Update 23 and earlierUpdates 24-25Update 26
JDK/JRE 1.4.2Update 25 and earlierUpdates 26-27Update 28


Unfortunately, research shows many famous commercial sites on the Web...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/wJePsBx7lfU" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/countermeasures-to-neutralize-tls.html</feedburner:origLink></item><item><title>by Xuelei Fan - A Simple Shell Script to Check the Trap of Case-Insensitive String</title><link>http://feedproxy.google.com/~r/javasec/~3/ySjwRa0OhVE/simple-shell-script-to-check-trap-of.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sat, 09 Jul 2011 14:49:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-1922071352971661676</guid><description>In the post of "The Trap of Case-Insensitive String", it is talked about the locale sensitive of String.toUpperCase() or String.toLowerCase(). I wrote a very simple KSH script to check the potential problems in Java source code. The script may be useful to facilitate the checking of the trap.



#!/bin/ksh

set -A KEYWORDS
KEYWORDS[0]="toLowerCase&amp;#92;(&amp;#92;)|toUpperCase&amp;#92;(&amp;#92;)"
typeset -i keywords_number=1

# KEYWORDS[0]="toLowerCase&amp;#92;(&amp;#92;).hashCode&amp;#92;(&amp;#92;)"
# KEYWORDS[1]="toUpperCase&amp;#92;(&amp;#92;).hashCode&amp;#92;(&amp;#92;)"
# KEYWORDS[2]="toLowerCase&amp;#92;(&amp;#92;).equals&amp;#92;("
#...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/ySjwRa0OhVE" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/simple-shell-script-to-check-trap-of.html</feedburner:origLink></item><item><title>by Xuelei Fan - The Trap of Case-Insensitive String</title><link>http://feedproxy.google.com/~r/javasec/~3/Nas3yOhsh38/trap-of-case-insensitive-string.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 07 Jul 2011 01:34:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-7469592292871295574</guid><description>Let's start from an example. What's the expect result of the following simple code?



// Example One
    String lower = "Simple Smiles!";
    String upper = "SIMPLE SMILES!";

    int lowerHashCode = lower.toUpperCase().hashCode();
    int upperHashCode = upper.toUpperCase().hashCode();
    boolean isEqual = (lowerHashCode == upperHashCode);

    System.out.println("The hash codes of the two case-insensitive " +
        "strings are the same: " + isEqual);


What's the value of "isEqual" variable, "true" or "false"? If you try to compiler and run the above code, I believe, 99.9999 times out...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Nas3yOhsh38" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/trap-of-case-insensitive-string.html</feedburner:origLink></item><item><title>by Xuelei Fan - TLS Renegotiation MITM Vulnerability is Fully Fixed in Java SE</title><link>http://feedproxy.google.com/~r/javasec/~3/fSGW0dzooOM/tls-renegotiation-mitm-vulnerability-is.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Thu, 30 Jun 2011 21:23:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-5124903344286105358</guid><description>It's time to upgrade your Java Runtime Environment to JRE 6 update 22, JRE 5.0 update 26, or JRE 1.4.2 update 28 at least , or the latest updates. Sooner, rather than later!

Java SE has implemented RFC 5746, and fully fixed the TLS renegotiation MITM vulnerability from JDK 7 and above update release.

Most of the SSL/TLS implementation vendors have already fixed the vulnerability in their product lines. Unfortunately, many famous commercial sites on the Web have not yet upgraded their software, according to the last report (by the edit time of this paper, it is Fri, Jul. 01, 2011) ,...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/fSGW0dzooOM" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/07/tls-renegotiation-mitm-vulnerability-is.html</feedburner:origLink></item><item><title>by Xuelei Fan - Best Practice: to Include the Complete Certificate Chain in the KeyStore</title><link>http://feedproxy.google.com/~r/javasec/~3/5V7gn9LLfvY/best-practice-to-include-compelete.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sun, 26 Jun 2011 00:23:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-5000554792828633971</guid><description>Let's start from an example. Considering the following certification path, TrustAnchor issues IntermediateCert, and IntermediateCert issues EndEntiryCert.
    TrustAnchor
        |        Subject: CN=TrustAnchor, OU=Example.COM
        V        Issuer : CN=TrustAnchor, OU=Example.COM
    IntermediateCert
        |        Subject: CN=Intermediate, OU=Example.COM
        V        Issuer : CN=TrustAnchor, OU=Example.COM
    EndEntiryCert
                 Subject: CN=EndEntiry, OU=Example.COM
                 Issuer : CN=Intermediate, OU=Example.COM
In practice, I noticed that some smart card...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/5V7gn9LLfvY" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/06/best-practice-to-include-compelete.html</feedburner:origLink></item><item><title>by Xuelei Fan - Java Approach to Lightweight Servers</title><link>http://feedproxy.google.com/~r/javasec/~3/XW80y1cSq0M/java-approach-to-lightweight-servers.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xuelei Fan</dc:creator><pubDate>Sun, 19 Jun 2011 17:37:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4878357546277600287.post-6958689556917289549</guid><description>My presentation about NIO.2 and JSSE in JavaOne Beijing 2010.



The time has come for Web servers to handle tens of thousands of clients simultaneously. Using NIO.2, one of the major features of JDK 7, will prove to be a reliable approach to solving the C10K problem (the inability of most Web servers to handle more than 10,000 clients simultaneously). This session introduced NIO.2’s asynchronous I/O APIs and illustrated a simple framework for building a reliable, lightweight, secure server.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/XW80y1cSq0M" height="1" width="1"/&gt;</description><feedburner:origLink>http://sim.ivi.co/2011/06/java-approach-to-lightweight-servers.html</feedburner:origLink></item><item><title>by Weijun   - Kerberos Programming on Windows</title><link>http://feedproxy.google.com/~r/javasec/~3/rMZI6G72UT8/kerberos_programming_on_windows</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 23 May 2011 14:09:23 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/kerberos_programming_on_windows</guid><description>This article was published as http://java.sun.com/javase/6/docs/technotes/guides/security/kerberos/jgss-windows.html some time in 2009, but the original link does not exist anymore. It's copied here mainly for archive purpose and a lot of thing have changed since. I might or might not update it.


   This article talks about Kerberos programming on Windows, especially in
   a Kerberos environment of Windows Active Directory (AD), with all
   clients and services running on Windows platforms in AD domains. The
   typical client/server environment described here is Windows XP and
   Windows...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/rMZI6G72UT8" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/kerberos_programming_on_windows</feedburner:origLink></item><item><title>by Weijun   - Some Kerberos Compiler Warnings on Windows</title><link>http://feedproxy.google.com/~r/javasec/~3/j3KOOoKqjME/some_kerberos_compiler_warnings_on</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 20 Mar 2011 20:25:22 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/some_kerberos_compiler_warnings_on</guid><description>There is a rather old bug on native code compiler warnings on Windows. I have been the responsible engineer for some time but never really started working on it. Unfortunately, some warnings result in a real runtime error now. Sorry.


Here is the changeset for it.


As you can see, we used the swprintf function in a not-so-standard way. The correct signature of the function is swprintf(buffer, size, format, args...) but we didn't provide the size argument. In the age of VC++ 2003, there were already warnings, but the runtime accepted this "overloaded" form and it ran fine. Starting from...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/j3KOOoKqjME" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/some_kerberos_compiler_warnings_on</feedburner:origLink></item><item><title>by Weijun   - Jarsigner with Timestamping Behind a Firewall</title><link>http://feedproxy.google.com/~r/javasec/~3/_NCBHoxGJ9Y/jarsigner_with_timestamping_behind_a</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Thu, 17 Mar 2011 13:13:37 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/jarsigner_with_timestamping_behind_a</guid><description>We've supported timestamping in jarsigner for a long time. By providing a -tsa option to the command when signing a jar file, a timestamping block will be added to the signed jar. This makes an application to be accepted by Java Plugin in a future time when the signer's certificate already expires.


In a lot of enterprise environments, you need to go through a firewall to access the Internet, here, the TSA (Time Stamping Authority). We've noticed this some time ago. Therefore, when a connection to the TSA is not available, jarsigner would print out a message like this:

jarsigner: unable to...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/_NCBHoxGJ9Y" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/jarsigner_with_timestamping_behind_a</feedburner:origLink></item><item><title>by Weijun   - Fixed-width Font Widened on Bold</title><link>http://feedproxy.google.com/~r/javasec/~3/JwToGf1JaKk/fixed_width_font_widened_on</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Tue, 15 Mar 2011 12:01:57 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/fixed_width_font_widened_on</guid><description>So here is a screenshot of a JDK source file I am working on now, in NetBeans:





It seems there is an extra space before the "// ok" comment on line 52 which makes the comments non-aligned. So I removed it. But then when I read the diff, it shows:

@@ -49,7 +49,7 @@
      &amp;#92;* Constructs an AS-REQ message.
      &amp;#92;*/
                                                 // Can be null? has default?
-    public KrbAsReq(EncryptionKey pakey,        // ok
+    public KrbAsReq(EncryptionKey pakey,       // ok
                       KDCOptions options,       // ok, new KDCOptions()
            ...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/JwToGf1JaKk" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/fixed_width_font_widened_on</feedburner:origLink></item><item><title>by Weijun   - Cool Mercurial Bundles</title><link>http://feedproxy.google.com/~r/javasec/~3/EOelin0UkBU/cool_mercurial_bundles</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 13 Mar 2011 19:23:22 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/cool_mercurial_bundles</guid><description>Although OpenJDK is mostly in open source state but there are still some code repositories closed. When I work from home and need to update these repositories, I'll have to connect to the Oracle VPN to access them. I always hesitate to use VPN at home because I won't be able to see other machines on the LAN (especially, VirtualBox guests using this machine as the host) and I don't like accessing the Internet using the Oracle proxy servers. My solution is to create a VirtualBox guest for VPN exclusively.


But then I see a problem, there is a VirtualBox bug saying that symlinks in a shared...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/EOelin0UkBU" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/cool_mercurial_bundles</feedburner:origLink></item><item><title>by Weijun   - PolicyTool Tiny Behavior Change</title><link>http://feedproxy.google.com/~r/javasec/~3/U4ZUnFyQw3Q/policytool_tiny_behavior_change</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 05 Jan 2011 10:42:59 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/policytool_tiny_behavior_change</guid><description>PolicyTool is the only GUI tool included in the JRE, which is used to generate a policy file for Java security permission management. You can use the tool to create a policy file or edit an existing one.


The "Save As" command of the tool opens a file save dialog, let you choose a file, and save the current policy into that file. When the file you choose already exists, the tool will issue a warning asking you if you want to overwrite it.


Here comes the problem, back in the old days, the file save dialog is drawn by Java itself, and it does not care about file overwriting at all....&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/U4ZUnFyQw3Q" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/policytool_tiny_behavior_change</feedburner:origLink></item><item><title>by Weijun   - I'm Still Here</title><link>http://feedproxy.google.com/~r/javasec/~3/fYYo8i3q31g/i_m_still_here</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 03 Jan 2011 10:00:58 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/i_m_still_here</guid><description>Haven't written anything on this blog for a long time. I'm still in the Java SE core libraries team and we even have some new people. Oracle LEC in China was finished last September, JSRs for Java SE 7 and 8 were approved late last year and we are now busy adding the final bits for JDK 7 and testing it heavily. It's also time to think of what features I can add in JDK 8.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/fYYo8i3q31g" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/i_m_still_here</feedburner:origLink></item><item><title>by Weijun   - allow_weak_crypto for Kerberos</title><link>http://feedproxy.google.com/~r/javasec/~3/v00nUPLQUeA/allow_weak_crypto_for_kerberos</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 03 Mar 2010 10:53:27 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/allow_weak_crypto_for_kerberos</guid><description>I just added allow_weak_crypto support in OpenJDK. With this property set to false, des-cbc-md5 and des-cbc-crc etypes are not supported, even if you include them i permitted_enctypes or default_{tkt|tgs}_enctypes settings.



Please note that in MIT krb5-1.8, the default value for this property is false, which means the DES-related enctypes are disabled out-of-box. In Java, we choose to keep it true for compatibility reasons, which we've always cared most.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/v00nUPLQUeA" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/allow_weak_crypto_for_kerberos</feedburner:origLink></item><item><title>by Sean Mullan   - Announcing XML Signature 1.1 and Signature Properties Last Call</title><link>http://feedproxy.google.com/~r/javasec/~3/JudpmbyiVEA/announcing_xml_signature_1_1</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 12 Feb 2010 06:11:02 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/announcing_xml_signature_1_1</guid><description>The W3C XML Security Working Group has released a Last Call Working Draft for XML Signature 1.1:

http://www.w3.org/TR/xmldsig-core1/

An explanation of the changes against the XML Signature 1.0&amp;nbsp; specification is available:

http://www.w3.org/TR/xmldsig-core1/explain.html

Changes are focused on the set of mandatory to implement algorithms and markup for relevant key material.

The Working Group has also released a Last Call Working Draft for XML Signature Properties:

http://www.w3.org/TR/2010/WD-xmldsig-properties-20100204/

The Last Call period lasts until 18 March 2010; comments can...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/JudpmbyiVEA" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/announcing_xml_signature_1_1</feedburner:origLink></item><item><title>by Weijun   - Oracle</title><link>http://feedproxy.google.com/~r/javasec/~3/Gi6sLo56NQk/oracle</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 27 Jan 2010 07:24:26 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/oracle</guid><description>The future begins today. Let's embrace it.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Gi6sLo56NQk" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/oracle</feedburner:origLink></item><item><title>by Weijun   - Sun</title><link>http://feedproxy.google.com/~r/javasec/~3/1UPBxaC1QrI/sun</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 20 Jan 2010 22:44:44 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/sun</guid><description>Linked from James Gosling's blog.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/1UPBxaC1QrI" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/sun</feedburner:origLink></item><item><title>by Sean Mullan   - Secure Coding Guidelines for the Java Programming Language, Version 3.0</title><link>http://feedproxy.google.com/~r/javasec/~3/j6gpE34wSes/secure_coding_guidelines_for_the</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Tue, 05 Jan 2010 21:38:36 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/secure_coding_guidelines_for_the</guid><description>A new version (3.0) of the Secure Coding Guidelines for the Java Programming Language has just been published at http://java.sun.com/security/seccodeguide.html 
  
The secure coding guidelines documents best practices and patterns that you should adhere to when writing Java code in order to avoid vulnerabilities. These guidelines are important for every Java developer, whether you are writing a trusted library or an end-user application.
 
  
Version 3.0 is a significant enhancement and includes a new section on fundamentals as well as many new guidelines and enhancements. 
  
Please send me...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/j6gpE34wSes" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/secure_coding_guidelines_for_the</feedburner:origLink></item><item><title>by Weijun   - ExtendedGSSContext</title><link>http://feedproxy.google.com/~r/javasec/~3/JW6PZWFCt90/extendedgsscontext</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 14 Dec 2009 13:45:27 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/extendedgsscontext</guid><description>We're doing some experiments in JDK 7 to add more JGSS APIs. Currently they're defined into the vendor-specific package com.sun.security.jgss, but we'd like to enhance them and finally get them into the standard org.ietf.jgss package.



Basically, we defined a new ExtendedGSSContext interface. Now it has 3 methods:

requestDelegPolicy(boolean state):
Requests that the delegation policy be respected. When a true value is requested, the underlying context would use the delegation policy defined by the environment as a hint to determine whether credentials delegation should be performed. This...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/JW6PZWFCt90" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/extendedgsscontext</feedburner:origLink></item><item><title>by Sean Mullan   - Using more recent Apache XML Security Libraries with JDK 6 or JDK 7</title><link>http://feedproxy.google.com/~r/javasec/~3/YL0w8N678d0/using_more_recent_apache_xml</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Thu, 01 Oct 2009 01:57:48 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/using_more_recent_apache_xml</guid><description>This question has come up in user forums quite a bit: &amp;quot;how can I use a more recent Apache XML Security library with the XML Signature APIs (JSR 105) in JDK 6 and JDK 7?&amp;quot; 
  
Most of the time, you will not need to do this. Our JDK 6/7 XML Signature implementation is based on Apache XML Security and we try to keep up with the latest release. However, there may be a bug fix or new algorithm that you really need and are willing to depend on a more recent version of the Apache XML Security library that has that fix.&amp;nbsp; Here is what you need to do if so: 
   
    Place the Apache...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/YL0w8N678d0" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/using_more_recent_apache_xml</feedburner:origLink></item><item><title>by Sean Mullan   - Using stronger XML Signature Algorithms in JDK 7</title><link>http://feedproxy.google.com/~r/javasec/~3/qKwGiYJQUgI/using_stronger_xml_signature_algorithms</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 24 Jul 2009 02:07:10 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/using_stronger_xml_signature_algorithms</guid><description>One of the new features of the XML Signature 1.1 specification, which is currently in draft review, is the addition of stronger cryptographic algorithms to the REQUIRED algorithms, such as the RSAwithSHA256 SignatureMethod algorithm. Additional RECOMMENDED and OPTIONAL algorithms have also been added. See section 6.1 for a complete list of algorithm requirements. 
  
In JDK 7, you can already use many of these stronger XML Signature algorithms in your Java applications. The following algorithms are newly supported: the RSAwithSHA256, RSAwithSHA384, RSAwithSHA512 signature algorithms and the...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/qKwGiYJQUgI" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/using_stronger_xml_signature_algorithms</feedburner:origLink></item><item><title>by Sean Mullan   - Hope to see you at our Java Security BOF next week at JavaOne</title><link>http://feedproxy.google.com/~r/javasec/~3/5jOEGlh4woY/hope_to_see_you_at</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 29 May 2009 01:45:15 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/hope_to_see_you_at</guid><description>Just a reminder that we'll be holding a BOF at this year's JavaOne conference on &amp;quot;New Security Features in JDK™ Releases 6 and 7&amp;quot;.&amp;nbsp; It is on Wednesday at 6:45 PM in Gateway 102/103 in the Moscone Center. We plan to have a short presentation on the
latest security features in JDK 6, JDK 7 and JavaFX. Then, we are going to show a demo of the new blacklist mechanism in the just-released JRE 6u14. The remaining time will be for Q&amp;amp;A so please bring
your questions on Java Security as many members of Sun's Java Security team will be on hand to help answer them.&amp;nbsp;&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/5jOEGlh4woY" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/hope_to_see_you_at</feedburner:origLink></item><item><title>by Weijun   - Subscribe to a mail list and start replying immediately</title><link>http://feedproxy.google.com/~r/javasec/~3/V-NskCrAMD0/subscribe_to_a_mail_list</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Fri, 24 Apr 2009 23:31:53 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/subscribe_to_a_mail_list</guid><description>Sometimes I browse through archives of a mail list and find some topics very interesting. I subscribe it, but only new messages come to my mail client, and those topics I found interesting initially won't appear anymore. How I wish I can reply to those topics.



If it's also hosted on Google Groups, that's great. Just reply to it there. If you don't want to keep using your Google Account in the discussion. Reply with some nonsense in Google Groups, and then reply with your real identity after that nonsense reaches your mail box.



If the list is available on gmane.org, you may be able to...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/V-NskCrAMD0" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/subscribe_to_a_mail_list</feedburner:origLink></item><item><title>by Sean Mullan   - Come to our Java Security BOF at JavaOne 2009</title><link>http://feedproxy.google.com/~r/javasec/~3/1Oz9oZFcWME/come_to_our_java_security</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 24 Apr 2009 01:19:08 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/come_to_our_java_security</guid><description>We'll be holding a BOF at this year's JavaOne conference on &amp;quot;New Security Features in JDK™ Releases 6 and 7&amp;quot;. This is sure to be an interesting BOF, as we'll go over all of the latest security features that we have added to JDK 6 and new ones that are targeted for JDK 7. We also plan to show a demo of some of the features. There should be plenty of time for Q&amp;amp;A so please bring your questions on Java Security as many members of Sun's Java Security team will be on hand to help answer them.&amp;nbsp; 
  
I'll add more details as we get closer to JavaOne.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/1Oz9oZFcWME" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/come_to_our_java_security</feedburner:origLink></item><item><title>by Weijun   - Fedora 10</title><link>http://feedproxy.google.com/~r/javasec/~3/4JvNYMhGy6w/fedora_10</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Tue, 21 Apr 2009 18:03:08 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/fedora_10</guid><description>Trying to install it again. Last time (probably F8) it does not support GUI login as a NIS user. GDM hangs.



Hope it's fine now. Will see if it's a better system building OpenJDK.



Update: NIS account can login, no +::: lines needed. However, system goes unstable when trying to change network setting to manual IP. Re grub-install and now back in Ubuntu.



Anyway, OS is there now, might try again someday.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/4JvNYMhGy6w" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/fedora_10</feedburner:origLink></item><item><title>by Weijun   - Several Enhancements for JarSigner</title><link>http://feedproxy.google.com/~r/javasec/~3/XS5P39ZB6-k/several_enhancements_for_jarsigner</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 19 Apr 2009 11:55:31 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/several_enhancements_for_jarsigner</guid><description>There're several enhancements to the jarsigner tool in OpenJDK lately.



First, jarsigner accepts a new option -certchain file to use a certificate chain in an external file. People can using PKCS #11 tokens to store their private keys. Some of these tokens are so small that there's no place to store the certificate chain inside it. Although you can access it with a KeyStore.getInstance("pkcs11"), the getCertificateChain() method returns nothing. Now you can use jarsigner with this kind of tokens, using the token as the keystore, but point your certchain to another file that contains the...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/XS5P39ZB6-k" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/several_enhancements_for_jarsigner</feedburner:origLink></item><item><title>by Brad Wetmore   - Would 6 units of band class qualify me for a free JavaOne 2009 pass?</title><link>http://feedproxy.google.com/~r/javasec/~3/bl-yMFb7Wpo/would_6_units_of_band</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Fri, 17 Apr 2009 13:23:45 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/would_6_units_of_band</guid><description>The worst thing about graduating and getting a job in the real world is that all the cool benefits dried up.&amp;nbsp; Student rates on travel, movie passes, food...etc. 
  
 I just noticed an offer on the J1 web site that appears to allow students (6 units or more) to get a free, FULL JavaOne 2009 conference pass.&amp;nbsp; Even as a Sun employee, I only get a limited pass.&amp;nbsp; Which got me thinking:&amp;nbsp; I'm currently taking a 1 unit music performance class at a local community college.&amp;nbsp; If I sign up for 5 more of these classes, would that qualify? 
  
Hm...I should check with my manager...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/bl-yMFb7Wpo" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/would_6_units_of_band</feedburner:origLink></item><item><title>by Sean Mullan   - New API to indicate the reason a certificate chain was invalid</title><link>http://feedproxy.google.com/~r/javasec/~3/EBTMBqDMQeg/new_api_to_indicate_the</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 03 Apr 2009 04:39:42 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/new_api_to_indicate_the</guid><description>In JDK 7, we have added a new method (getReason) to the java.security.cert.CertPathValidatorException class which returns an object indicating the reason a certificate chain, or CertPath, is invalid. Previously, there was no standard mechanism to determine the reason of failure, and applications had to depend on the exception message or the cause which could vary based on the underlying service provider implementation. 
  
The getReason method returns an instance of CertPathValidatorException.Reason, which is an interface. There are 2 subclasses of this interface. One is BasicReason which is...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/EBTMBqDMQeg" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/new_api_to_indicate_the</feedburner:origLink></item><item><title>by Sean Mullan   - New CertificateRevokedException class in JDK 7</title><link>http://feedproxy.google.com/~r/javasec/~3/2NBevSiQcvw/new_certificaterevokedexception_class_in_jdk</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 27 Mar 2009 01:44:19 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/new_certificaterevokedexception_class_in_jdk</guid><description>There is a new CertificateRevocationException class in JDK 7 in the java.security.cert package that indicates that an X.509 certificate is revoked and also allows you to determine additional information such as the reason the certificate has been revoked and when it was revoked.&amp;nbsp; The getRevocationReason method returns a CRLReason, which is a new enum class that enumerates the different reasons an X.509 certificate can be revoked, such as compromise of the private key. In JDK 7, The Sun PKIX CertPathValidator service provider implementation has been enhanced to throw this exception....&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/2NBevSiQcvw" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/new_certificaterevokedexception_class_in_jdk</feedburner:origLink></item><item><title>by Sean Mullan   - Greetings</title><link>http://feedproxy.google.com/~r/javasec/~3/0V5XlHTTeJU/greetings</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sean Mullan</dc:creator><pubDate>Fri, 20 Mar 2009 05:49:12 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/mullan/entry/greetings</guid><description>Hello everyone. Although I have been with Sun for over 10 years, this is my first blog entry at blogs.sun.com. I already have a blog over at java.net (http://weblogs.java.net/blog/mullan/), but for now I will be posting new entries right here at blogs.sun.com. I may still update my blog at java.net from time to time, or figure out a way to cross-post my entries. 
  
A little about myself. I work on the Java Security Team and have spent almost 10 years working on the Java SE security technology. I was specification lead of JSR 55 and co-specification lead of JSR 105, both successful APIs that...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/0V5XlHTTeJU" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/mullan/entry/greetings</feedburner:origLink></item><item><title>by Weijun   - Another new keytool enhancement: -printcert -sslserver</title><link>http://feedproxy.google.com/~r/javasec/~3/XQyuMCCE3Qw/another_old_new_keytool_enhancement</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 22 Feb 2009 15:40:51 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/another_old_new_keytool_enhancement</guid><description>Andreas has written a blog entry on retrieving certificates from an SSL server. Whenever I see someone asking this question on the Java forum I point the user to this entry. Now it's time for this function to be included in keytool.



Call keytool -printcert -sslserver sun.com to see what's shown.



During the implementation of this feature, there are some discussions on how the function should be called. Two topics are most interesting:



What's the function name? At first, the plan is to add a new function to import the certificate into a keystore. The command will look like "-importcert...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/XQyuMCCE3Qw" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/another_old_new_keytool_enhancement</feedburner:origLink></item><item><title>by Weijun   - keytool enhancements</title><link>http://feedproxy.google.com/~r/javasec/~3/CcBPZobIcZQ/keytool_enhancements</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 22 Feb 2009 12:59:12 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/keytool_enhancements</guid><description>Update: CRLDistributionPoints extension support added.

There're two enhancements made to keytool today (the doc has not been updated, it's still for JDK 6):
new commands and options
We have 2 new commands: -gencert, -printcertreq and 1 new option -ext. Read the RFE descriptions.



-printcertreq is simply for printing the content of a certificate request. It behaves like the -printcert command, reading a PKCS #10 format cert req from a file or stdin, and does not need a keystore to run with.



-gencert is a big enhancement, which means you can setup a tiny CA now with keytool. The command...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/CcBPZobIcZQ" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/keytool_enhancements</feedburner:origLink></item><item><title>by Brad Wetmore   - Extra!  Extra!  Read all about it!  OpenJDK Bugzilla Goes Live!</title><link>http://feedproxy.google.com/~r/javasec/~3/VeL4xGUlUxs/extra_extra_read_all_about</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Fri, 06 Feb 2009 12:50:04 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/extra_extra_read_all_about</guid><description>News at 11...or whenever the moderator on &amp;quot;announce at openjdk dot java dot net&amp;quot; approves my message...or just go to: 
   
    
http://openjdk.java.net/groups/web/bugzilla.html&amp;nbsp; 
   
  
  
  
(Apologies to my younger or international readers if the title of this entry didn't make any sense.)&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/VeL4xGUlUxs" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/extra_extra_read_all_about</feedburner:origLink></item><item><title>by Brad Wetmore   - Update on the OpenJDK Bugzilla instance.</title><link>http://feedproxy.google.com/~r/javasec/~3/HNWcySwA9iM/update_on_the_openjdk_bugzilla</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Sun, 01 Feb 2009 13:42:26 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/update_on_the_openjdk_bugzilla</guid><description>I've recently been leading the effort to get our OpenJDK Bugzilla instance in place, and just wanted to let folks know that we're pretty close. 
  
I took some time over the last couple days to take a snapshot of what we have and what's planned for the near and somewhat longer future.&amp;nbsp; The short story is that we'll begin by tracking contributions from OpenJDK developers who do not have push rights to the JDK 6 and 7 forests.&amp;nbsp; The next phase will expand the system to track most if not all of the OpenJDK projects under development. 
  
The longer story is now available on the OpenJDK...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/HNWcySwA9iM" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/update_on_the_openjdk_bugzilla</feedburner:origLink></item><item><title>by Weijun   - Small Enhancements to HGrev</title><link>http://feedproxy.google.com/~r/javasec/~3/03-AGXA3qxM/small_enhancements_to_hgrev</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Tue, 20 Jan 2009 17:10:45 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/small_enhancements_to_hgrev</guid><description>I've enhanced http://hgrev.appspot.com a little. Now the patch view has links to previous and new codes in raw form, so that you can download it directly to try on your own computer.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/03-AGXA3qxM" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/small_enhancements_to_hgrev</feedburner:origLink></item><item><title>by Weijun   - Who Moved My krb5.ini?</title><link>http://feedproxy.google.com/~r/javasec/~3/Jxb-HAXC3zg/who_moved_my_krb5_ini</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 18 Jan 2009 18:59:47 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/who_moved_my_krb5_ini</guid><description>Java Kerberos 5, on Windows, looks for a config file named krb5.ini in the Windows directory, and a Windows directory is defined as the return value of the Win32 API GetWindowsDirectory(), which should normally return something like C:&amp;#92;&amp;#92;Windows.



But, since Windows Server 2003, something has changed. The Terminal Services Programming Guidelines has these words: In a Terminal Services environment, the Windows directory is guaranteed to be private for each user.



So this means if your (post Windows 2003) system has Terminal Services turned on, Java would look for krb5.ini inside...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Jxb-HAXC3zg" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/who_moved_my_krb5_ini</feedburner:origLink></item><item><title>by Weijun   - NetBeans C++ is Cool</title><link>http://feedproxy.google.com/~r/javasec/~3/Cda2sxpPeEo/netbeans_c_is_cool</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Thu, 15 Jan 2009 17:04:08 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/netbeans_c_is_cool</guid><description>Although I use NetBeans a lot writing Java, I've never really tried its C/C++ Pack before. Today I need to read some MIT Kerberos codes. There's a long time I haven't worked heavily on C so I find it quite difficult to find out which function does what and where it's defined. And then, I think of NetBeans, it's very good at parsing Java codes and give you multiple ways to navigate through the method calls and field definitions. How about trying it for C?



So I fire up NetBeans and go download the C/C++ pack. It's a huge 5MB module that takes care of projects, editing, debugging all in one...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Cda2sxpPeEo" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/netbeans_c_is_cool</feedburner:origLink></item><item><title>by Weijun   - Picasa for Mac</title><link>http://feedproxy.google.com/~r/javasec/~3/8XXkTKxtY_s/picasa_for_mac</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 07 Jan 2009 16:23:18 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/picasa_for_mac</guid><description>I'm happy to become a Picasa user again. For the last two years, I use Finder and Preview to take care of all my photos. It's a very difficult job － I leave quite some duplicates here and there, and I dare not edit photos except rotating them. I hate iPhoto, I don't want the files be moved to somewhere else, and I feel bad when I don't know what it's doing and how it stores things.



Now I can do the so-called non-destructive edit again. Picasa for Mac still recognizes all previous edit made in Windows, the Picasa.ini file I mean. It would update the file if you make more edit. When there's...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/8XXkTKxtY_s" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/picasa_for_mac</feedburner:origLink></item><item><title>by Weijun   - OpenSolaris on Bare Metal</title><link>http://feedproxy.google.com/~r/javasec/~3/Rc7ZpFjjVis/opensolaris_on_bare_metal</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Tue, 06 Jan 2009 13:50:45 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/opensolaris_on_bare_metal</guid><description>Finally I decide to install OpenSolaris on the bare metal, and probably use it as a nightly build machine.

Create a USB installer using usbcopy
Boot from this USB disk and install
Reboot, disable network/physical:nwam, enable multicast and network/physical:default, call sys-unconfig
Reconfigure the machine
Reboot again

I hadn't enabled/disabled the services first time when I run sys-unconfig, and the machine cannot reboot complaining avahi-bridge-dsd cannot start. Fortunately I can login to single user mode and do that again.



I'm learning how to give more privileges to my NIS user...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Rc7ZpFjjVis" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/opensolaris_on_bare_metal</feedburner:origLink></item><item><title>by Brad Wetmore   - You can teach a somewhat older dog new tricks-OpenSolaris 2008.11:  Wow!</title><link>http://feedproxy.google.com/~r/javasec/~3/Rm34V9KhohM/you_can_teach_a_somewhat</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Thu, 18 Dec 2008 13:30:16 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/you_can_teach_a_somewhat</guid><description>Way back in grad school (early 90's), I was called in to assist in the investigation of an internet porn exchange ring.&amp;nbsp; The ring was using some unsecured FTP servers belonging to our state's government.&amp;nbsp; Our team finished our initial assessment and called in the State Police to report our findings.&amp;nbsp; I will never forget that day as long as I live.&amp;nbsp; I said, &amp;quot;Yes, you've got a problem&amp;quot; and brought up one of the tamer images.&amp;nbsp; This career cop was two years away from retirement, and he just rolled his eyes and said &amp;quot;I'm too old for this, I don't get this...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Rm34V9KhohM" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/you_can_teach_a_somewhat</feedburner:origLink></item><item><title>by Weijun   - mechListMIC in SPNEGO</title><link>http://feedproxy.google.com/~r/javasec/~3/CW4pxXxI62c/mechlistmic_in_spnego</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Tue, 16 Dec 2008 11:37:36 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/mechlistmic_in_spnego</guid><description>I try hard to understand when should mechListMIC be generated in SPNEGO, but still find the specification (RFC 4178) confusing. I'd like to interpret it this way:

 If the chosen mech is the first one in the list, don't bother to create it
 Generate the MIC whenever you think you can do it, i.e. mech's isEstablished() is true
 Response to a MIC whenever you receive one

In case you believe the incoming token should have the MIC but it hasn't, if it's already marked COMPLETE, you go COMPLETE also. Otherwise, it may be expecting a MIC from you, either create the MIC and send back, or send back...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/CW4pxXxI62c" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/mechlistmic_in_spnego</feedburner:origLink></item><item><title>by Brad Wetmore   - Consolidation of the JSN and TL gates.</title><link>http://feedproxy.google.com/~r/javasec/~3/pCvnkPMfx70/consolidation_of_the_jsn_and</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Wed, 12 Nov 2008 07:54:40 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/consolidation_of_the_jsn_and</guid><description>For the last 4 years, I've been the &amp;quot;Gatekeeper&amp;quot; for the Java Security and Network (JSN) team.&amp;nbsp; Gatekeepers are those under-appreciated but highly necessary folks who make sure that new changes work, and play nicely with what's already there.&amp;nbsp; We're only as good as our test cases, but not all developers are as diligent about running everything that's available.
  
  
A month ago, I was asked to take on a project to support the OpenJDK project.&amp;nbsp; In order to free up time, we decided to decommission the JSN gate, and transition the JSN developers to the Tools and...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/pCvnkPMfx70" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/consolidation_of_the_jsn_and</feedburner:origLink></item><item><title>by Weijun   - Mark Bristow, Today's Gold Medalist</title><link>http://feedproxy.google.com/~r/javasec/~3/5B_mOTL2SQI/mark_bristow</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 08 Sep 2008 19:08:15 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/mark_bristow</guid><description>Silicon Valley? That's Sun Microsystems.



Congratulations!&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/5B_mOTL2SQI" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/mark_bristow</feedburner:origLink></item><item><title>by Weijun   - LiveCD of OpenSolaris in VMWare</title><link>http://feedproxy.google.com/~r/javasec/~3/eM6wo9m1ZGI/livecd_of_opensolaris_in_vmware</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Mon, 25 Aug 2008 13:51:22 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/livecd_of_opensolaris_in_vmware</guid><description>Normally I don't like running an OS as a LiveCD on a bare metal machine because accessing CD-ROM is too slow and makes very big noises. However as a VMWare guest, since the CD-ROM is in fact an ISO file on the hard disk, I guess the speed should be quite fast, I'm quite happy to only run it on the LiveCD.



So I creates a new Virtual machine with two CD-ROM drives, put the LiveCD in the 1st one and the VMTools into the 2nd. When the system CD boots up, I will be able to install VMTools from the 2nd CD.



This works quite fine for Ubuntu and the VMTools is installed correctly. But for...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/eM6wo9m1ZGI" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/livecd_of_opensolaris_in_vmware</feedburner:origLink></item><item><title>by Weijun   - F9 (Compile) for NetBeans Missing</title><link>http://feedproxy.google.com/~r/javasec/~3/Lc-QxpCNdZs/f9_compile_for_netbeans_missing</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Sun, 03 Aug 2008 14:28:30 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/f9_compile_for_netbeans_missing</guid><description>Just downloaded the latest DEV version of NetBeans, haven't done it for several weeks.



One thing that confuses me is that F9 seems does not work for individual files in a Java project anymore. Pressing F9 has no impact, the edited Java file still shows an asterisk sign in the editor pane header, still dirty, not even saved. Looking at the right mouse menu of the file, and the compile item is grayed not completely.



Strange, isn't it? Then I suddenly realized this might be because of the newly introduced compile-on-save feature. I try to add some runtime error into my Java file and save...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/Lc-QxpCNdZs" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/f9_compile_for_netbeans_missing</feedburner:origLink></item><item><title>by Weijun   - my webrev experiment: public, interactive and easy</title><link>http://feedproxy.google.com/~r/javasec/~3/AVB4J0ezsxo/my_webrev_experiment_public_interactive</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 11 Jun 2008 14:27:10 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/my_webrev_experiment_public_interactive</guid><description>Inside Sun, we use webrev to do code reviews, you can see an example here.



Well, there're several reasons I don't like webrev very much:

It's a pile of static files, you must first create them, and upload them to a public website (possibly one by one).
It used to be a nice archive of what you've done, but now in Mercurial we already have changesets.
It includes no interactive review process 

OK, only the first reason is real. I just cannot resist the temptation to create a list.



Recently I've done some experiments on creating a new review style which is meant to be:

Public, the patch...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/AVB4J0ezsxo" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/my_webrev_experiment_public_interactive</feedburner:origLink></item><item><title>by Weijun   - location.replace</title><link>http://feedproxy.google.com/~r/javasec/~3/ZAgcVREDxMU/location_replace</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weijun</dc:creator><pubDate>Wed, 04 Jun 2008 11:46:50 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wangwj/entry/location_replace</guid><description>Just write a long web page using location.replace to move around to different corners of it. Find out these incompatibilities between different browsers:

Firefox is fine
Opera and WebKit save a history item for each replace call, which I don't like
IE is not aware of javascript-generated anchors&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/ZAgcVREDxMU" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wangwj/entry/location_replace</feedburner:origLink></item><item><title>by Brad Wetmore   - He Is He, Don Quixote:  The Lord of La Mancha!</title><link>http://feedproxy.google.com/~r/javasec/~3/U8Tps5DP2bQ/he_is_he_don_quixote</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Tue, 03 Jun 2008 09:02:35 PDT</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/he_is_he_don_quixote</guid><description>Folks have been asking what I'm up to outside of work.&amp;nbsp; Way too many things for one blog entry, so I'll focus on the most recent.
 
  
As you may know, one of the things I'm quite passionate about is music and performance. I'd started with church choirs, but I'd say I got really passionate about music in 5th grade, when I had to choose an instrument for the school band.&amp;nbsp; I can't believe how practical I was back then:&amp;nbsp; I asked myself what instrument(s) will allow me to do the most types of music.&amp;nbsp; (pretty impressive for a 5th grader, no?)&amp;nbsp; The answer was obvious:&amp;nbsp;...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/U8Tps5DP2bQ" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/he_is_he_don_quixote</feedburner:origLink></item><item><title>by Brad Wetmore   - I Have Met "The Man," and The Tail Will Not Be Pretty.</title><link>http://feedproxy.google.com/~r/javasec/~3/L5D1xH8Z4NA/i_have_met_the_man</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Wed, 05 Mar 2008 06:53:40 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/i_have_met_the_man</guid><description>&amp;nbsp;I love &amp;quot;dives.&amp;quot;&amp;nbsp; You know those places that you look at from the outside, and say...&amp;quot;hmm...&amp;quot;&amp;nbsp; But with lines out the door, you know they must be doing something right.&amp;nbsp; Once you get inside, you know there's something special going on in the kitchen.&amp;nbsp; My wife has always accused me of taking her to only the &amp;quot;finest&amp;quot; establishments, but this one almost killed her.
  
A little backstory:&amp;nbsp;&amp;nbsp;As my little brother was graduating from college, he was seduced by the Dark Side and moved to Redmond Washington to work for the large unnamed...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/L5D1xH8Z4NA" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/i_have_met_the_man</feedburner:origLink></item><item><title>by Brad Wetmore   - Leave me alone, I'm on vacation!</title><link>http://feedproxy.google.com/~r/javasec/~3/h4RbdQu-ghg/leave_me_alone_i_m</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Thu, 14 Feb 2008 09:02:14 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/leave_me_alone_i_m</guid><description>I've got no qualms about giving my all when I'm working.&amp;nbsp; I've done the long days, the long nights, the long weekends.&amp;nbsp; But when I officially pull the plug and go on vacation, I expect to be able to leave Sun behind, and enjoy some well-deserved time off without any reminders of what I do the rest of the year.&amp;nbsp; 

 I don't think that's too much to ask.&amp;nbsp; But have you ever tried to unplug yourself completely when you work for a &amp;quot;network&amp;quot; company like Sun?&amp;nbsp; 
I first noticed it on a trip to Nepal.&amp;nbsp; I had just finished a rather stressful project, and was glad...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/h4RbdQu-ghg" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/leave_me_alone_i_m</feedburner:origLink></item><item><title>by Brad Wetmore   - "You're a...Gatekeeper?  Uh huh.  What's a Gatekeeper?"</title><link>http://feedproxy.google.com/~r/javasec/~3/xE-VlPpSAuA/you_re_a_gatekeeper_uh</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Mon, 11 Feb 2008 07:12:41 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/you_re_a_gatekeeper_uh</guid><description>(You might want to read Kelly O'Hair's &amp;quot;OpenJDK Mercurial Wheel&amp;quot; blog entry before reading this.) 
Besides my normal job as a developer in the Java Security and Networking (JSN) and&amp;nbsp; the Java Tools/Libraries (TL) groups, I have been tasked from time to time as the &amp;quot;Gatekeeper&amp;quot; (also known as an &amp;quot;Integrator&amp;quot;) for the JSN group.&amp;nbsp; Some of you have asked on the IRC channel #openjdk, &amp;quot;What's a Gatekeeper?&amp;quot;&amp;nbsp; Good question.&amp;nbsp; Ask any of the N gatekeepers, and you'll get N different answers.
Since I'm a musician by night, I had to distill it...&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/xE-VlPpSAuA" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/you_re_a_gatekeeper_uh</feedburner:origLink></item><item><title>by Brad Wetmore   - Nice Overview for Getting Started with OpenJDK</title><link>http://feedproxy.google.com/~r/javasec/~3/GHF3vVulcNM/nice_overview_for_getting_started</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Wetmore</dc:creator><pubDate>Mon, 11 Feb 2008 07:08:35 PST</pubDate><guid isPermaLink="false">https://blogs.oracle.com/wetmore/entry/nice_overview_for_getting_started</guid><description>Lars Westergren posted an article in his blog about what the OpenJDK project is and how it works.&amp;nbsp; I found it to be a great overview, as he did a nice job on culling information from various sources and presenting it in a very coherent manner.&lt;img src="http://feeds.feedburner.com/~r/javasec/~4/GHF3vVulcNM" height="1" width="1"/&gt;</description><feedburner:origLink>https://blogs.oracle.com/wetmore/entry/nice_overview_for_getting_started</feedburner:origLink></item></channel></rss>
