<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>https &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/https/</link>
	<description>Feed of posts on WordPress.com tagged "https"</description>
	<pubDate>Sun, 27 Dec 2009 15:44:48 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Difference between HTTP &amp; HTTPS in URL]]></title>
<link>http://go2inbox.wordpress.com/2009/12/23/381/</link>
<pubDate>Tue, 22 Dec 2009 22:44:18 +0000</pubDate>
<dc:creator>go2inbox</dc:creator>
<guid>http://go2inbox.wordpress.com/2009/12/23/381/</guid>
<description><![CDATA[Difference between http amp https . MUST read FIRST, MANY PEOPLE ARE UNAWARE OF The main difference ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-185" title="Difference between HTTP &#38; HTTPS in URL" src="http://www.go2inbox.com/infob/thumbnails/infob_image_1540_1363.png" alt="Difference between HTTP &#38; HTTPS in URL" /> Difference between  http   amp   https .      MUST read         FIRST, MANY PEOPLE ARE UNAWARE OF    The main difference between http    and https     lt HTTPS     gt   is.    It s all about keeping you secure        HTTP stands for HyperText Transport Protocol, which is just a fancy way of saying it s a protocol  a language, in a manner of speaking  for information to be passed back and forth between web servers and clients.      The important thing is the letter S which makes the diffe&#8230; <a style="text-decoration:none;" href="http://www.go2inbox.com/infob/readinfo.php?readinfo=1363">read more&#62;&#62;</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Spiceworks 4.5 - Freeing Larger Networks Around the World]]></title>
<link>http://blog.spiceworks.com/2009/12/11/spiceworks-4-5-freeing-larger-networks-around-the-world/</link>
<pubDate>Fri, 11 Dec 2009 13:30:11 +0000</pubDate>
<dc:creator>Jay Hallberg, Co-founder &#38; VP Marketing</dc:creator>
<guid>http://blog.spiceworks.com/2009/12/11/spiceworks-4-5-freeing-larger-networks-around-the-world/</guid>
<description><![CDATA[Can you believe it?!  Over 10,000 companies with more than 500 employees use Spiceworks.   For the p]]></description>
<content:encoded><![CDATA[Can you believe it?!  Over 10,000 companies with more than 500 employees use Spiceworks.   For the p]]></content:encoded>
</item>
<item>
<title><![CDATA[scamming the search engines]]></title>
<link>http://always0nline.wordpress.com/2009/12/11/scamming-the-search-engines/</link>
<pubDate>Fri, 11 Dec 2009 02:46:25 +0000</pubDate>
<dc:creator>always0nline</dc:creator>
<guid>http://always0nline.wordpress.com/2009/12/11/scamming-the-search-engines/</guid>
<description><![CDATA[Even search engines can get suckered by Internet scams. With a little sleight of hand, con artists c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="padding-left:30px;">Even search engines can get suckered by Internet scams.</p>
<p style="padding-left:30px;">With a little sleight of hand, con artists can dupe them into giving top billing to fraudulent Web sites that prey on consumers, making unwitting accomplices of companies such as Google, Yahoo and Microsoft.</p>
<p style="padding-left:30px;">Online charlatans typically try to lure people into giving away their personal or financial information by posing as legitimate companies in &#8220;phishing&#8221; e-mails or through messages in forums such as Twitter and Facebook. But a new study by security researcher Jim Stickley shows how search engines also can turn into funnels for shady schemes.</p>
<p style="padding-left:30px;">Stickley created a Web site purporting to belong to the Credit Union of Southern California, a real business that agreed to be part of the experiment. He then used his knowledge of how search engines rank Web sites to achieve something that shocked him: His phony site got a No. 2 ranking on Yahoo Inc.&#8217;s search engine and landed in the top slot on Microsoft Corp.&#8217;s Bing, ahead of even the credit union&#8217;s real site.</p>
<p style="padding-left:30px;">Google Inc., which handles two-thirds of U.S. search requests, didn&#8217;t fall into Stickley&#8217;s trap. His fake site never got higher than Google&#8217;s sixth page of results, too far back to be seen by most people. The company also places a warning alongside sites that its system suspects might be malicious.</p>
<p style="padding-left:30px;">But even Google acknowledges it isn&#8217;t foolproof.</p>
<p style="padding-left:30px;">Some recession-driven scams have been slipping into Google&#8217;s search results, although that number is &#8220;very, very few,&#8221; said Jason Morrison, a Google search quality engineer.</p>
<p style="padding-left:30px;">On one kind of fraudulent site, phony articles claim that participants can make thousands of dollars a month simply for posting links to certain Web sites. Often, the victims are asked to pay money for startup materials that never arrive, or bank account information is requested for payment purposes.</p>
<p style="padding-left:30px;">&#8220;As soon as we notice anything like it, we&#8217;ll adapt, but it&#8217;s kind of like a game of Whac-A-Mole,&#8221; he said. &#8220;We can&#8217;t remove every single scam from the Internet. It&#8217;s just impossible.&#8221;</p>
<p style="padding-left:30px;">In fact, Google said Tuesday it is suing a company for promising &#8220;work at home&#8221; programs through Web sites that look legitimate and pretend to be affiliated with Google.</p>
<p style="padding-left:30px;">Stickley&#8217;s site wasn&#8217;t malicious, but easily could have been. In the year and a half it was up, the 10,568 visitors were automatically redirected to the real credit union, and likely never knew they had passed through a fraudulent site.</p>
<p style="padding-left:30px;">&#8220;When you&#8217;re using search engines, you&#8217;ve got to be diligent,&#8221; said Stickley, co-founder of TraceSecurity Inc. &#8220;You can&#8217;t trust that just because it&#8217;s No. 2 or No. 1 that it really is. A phone book is actually probably a safer bet than a search engine.&#8221;</p>
<p style="padding-left:30px;">A Yahoo spokeswoman didn&#8217;t respond to requests for comment. Microsoft said in a statement that Stickley&#8217;s experiment showed that search results can be cluttered with junk, but the company insists Bing &#8220;is equipped to address&#8221; the problem. Stickley&#8217;s link no longer appears in Bing.</p>
<p style="padding-left:30px;">To fool people into thinking they were following the right link, Stickley established a domain (creditunionofsc.org) that sounded plausible. (The credit union&#8217;s real site is cusocal.org.) After that, Stickley&#8217;s site wasn&#8217;t designed with humans in mind; it was programmed to make the search engines believe they were scanning a legitimate site. Stickley said he pulled it off by having link after link inside the site to create the appearance of &#8220;depth,&#8221; even though those links only led to the same picture of the credit union&#8217;s front page.</p>
<p style="padding-left:30px;">The experiment convinced Credit Union of Southern California that it should protect itself by being more aggressive about buying domain names similar to its own. Domains generally cost a few hundred dollars to a few thousand dollars each — a pittance compared with a financial institution&#8217;s potential liability or loss of goodwill if its customers are ripped off by a fake site.</p>
<p style="padding-left:30px;">&#8220;The test was hugely successful,&#8221; said Ray Rounds, the credit union&#8217;s senior vice president of information services.</p>
<p style="padding-left:30px;">Stickley&#8217;s manipulation illuminates the dark side of so-called search engine optimization. It&#8217;s a legitimate tactic used by sites striving to boost their rankings — by designing them so search engines can capture information on them better.</p>
<p style="padding-left:30px;">But criminals can turn the tables to pump up fraudulent sites.</p>
<p style="padding-left:30px;">&#8220;You can do this on a very, very broad scale and have a ton of success,&#8221; Stickley said. &#8220;This shows there&#8217;s a major, major risk out there.&#8221;</p>
<p style="padding-left:30px;">Robert Hansen, a Web security expert who wasn&#8217;t involved in Stickley&#8217;s research, said ranking high in search engine results gets easier as the topic gets more obscure. An extremely well-trafficked site such as Bank of America&#8217;s would always outrank a phony one, he notes.</p>
<p style="padding-left:30px;">Still, Hansen said, criminals have been able to game Google&#8217;s system well enough to carve out profitable niches. He says one trick is to hack into trusted sites, such as those run by universities, and stuff them with links to scam sites, which makes search engines interpret the fraudulent sites as legitimate.</p>
<p style="padding-left:30px;">&#8220;I don&#8217;t think we&#8217;re anywhere near winning&#8221; the fight against such frauds, said Hansen, chief executive of the SecTheory consulting firm.</p>
<p style="padding-left:30px;">Roger Thompson, chief research officer for AVG Technologies, who also wasn&#8217;t involved in the research, said search results can be trusted, for the most part.</p>
<p style="padding-left:30px;">&#8220;But the rule is, if you&#8217;re looking for something topical or newsworthy, you should be very cautious about clicking the link,&#8221; he said. That&#8217;s because criminals load their scam sites with hot topics in the news, to trap victims before the search engines have a chance to pull their sites out of the rankings.</p>
<p style="padding-left:30px;">&#8220;The bad guys don&#8217;t have to get every search,&#8221; he said. &#8220;They just have to get a percentage.&#8221;</p>
<p style="padding-left:30px;">Consumers can protect themselves from scam sites by looking up the domain at http://www.whois.com, which details when a site was registered and by whom. That can be helpful if the Web address of a phony site is similar to the real one.</p>
<p>Looks like search engine optimization (SEO) can be put to fraudulent uses too, as shown by Stickley and his fake site. It&#8217;s scary to know that your favourite search engine Google or Yahoo is delivering scam sites to you when you search with them. Who&#8217;s going to take the blame when the user gets scammed? Surely the search engine will have to take some of the responsibility as well, for not ensuring that they do not index phishing sites in their databases. Of course, the bulk of the responsibility still lies on the user to ensure that they are on the correct website before entering sensitive information such as bank account information or usernames and passwords.</p>
<p>Some simple things to look out for:</p>
<ol>
<li>Check the address bar &#8211; is the URI familiar?</li>
<li>Look out for the https protocol &#8211; this shows that you&#8217;re on a secure connection. While even this may be faked, there&#8217;s a higher probability that you&#8217;re on a genuine site if https is being used.</li>
<li>Look out for SSL when doing online banking. There should be a lock icon in the bottom right corner of your internet browser. If you&#8217;re using Firefox, you can also look at the address bar, where they will identify the owner of the SSL certificate.</li>
</ol>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HTTP Secure]]></title>
<link>http://safeshopper.wordpress.com/2009/12/09/http-secure/</link>
<pubDate>Wed, 09 Dec 2009 17:53:33 +0000</pubDate>
<dc:creator>ajpenterprise</dc:creator>
<guid>http://safeshopper.wordpress.com/2009/12/09/http-secure/</guid>
<description><![CDATA[This blog expands on a previous entry, Protect Your Credit Card Online. Most of us are familiar with]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This blog expands on a previous entry, <a href="../2009/11/25/protect-your-credit-card-online/">Protect Your Credit Card Online</a>.</p>
<p>Most of us are familiar with the letters “HTTP,” which precede the web address for virtually every site on the World Wide Web. HTTP stands for hypertext transfer protocol, and without getting overly technical, it serves basically as a call out to information or a location on the Web, and it awaits a response from the requested source. When the reply comes back, a connection is made.</p>
<p>When shopping online, HTTP is not considered safe enough to exchange sensitive information, such as credit card numbers. Sites that require personal information use HTTP Secure, or HTTPS. HTTPS provides encryption and secure identification of the server to ensure that the information sent won’t be compromised by eavesdroppers or man-in-the-middle attacks, which we’ll cover in future blogs.</p>
<p>When submitting sensitive information on the Web, and especially when using your credit card to <a href="http://www.marketamerica.com/umachealth/index.cfm">shop online</a>, always check the Web address in the browser window. Make sure it starts with HTTPS to keep your online shopping experience safe and secure.</p>
<p>By: <a href="http://www.marketamerica.com/umachealth/index.cfm">AJP Enterprise</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to make the Apache redirect from http to https and vice versa automatically]]></title>
<link>http://labite.wordpress.com/2009/12/09/how-to-make-the-apache-redirect-from-http-to-https-and-vice-versa-automatically/</link>
<pubDate>Wed, 09 Dec 2009 01:43:20 +0000</pubDate>
<dc:creator>labite</dc:creator>
<guid>http://labite.wordpress.com/2009/12/09/how-to-make-the-apache-redirect-from-http-to-https-and-vice-versa-automatically/</guid>
<description><![CDATA[There are some ways to do that, in this examples let&#8217;s use the module mod_rewrite. Make sure t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>There are some ways to do that, in this examples let&#8217;s use the module mod_rewrite.</p>
<p>Make sure that the module mod_rewrite is being loaded by your apache</p>
<p>We need tell apache the condiction to execute the redirect, edit the file <strong>$APACHE_HOME/conf/httpd.conf</strong> and add the following lines:</p>
<p>#Turn on the rewrite<br />
<code>RewriteEngine on</code></p>
<p>#Condiction and rule for redirect<br />
<code>RewriteCond %{REQUEST_URI} ^/(&#60;YOUR URL&#62;)<br />
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]</code></p>
<p>Sample:<br />
Let&#8217;s suppose you need to redirect the URL <strong>http://youserver/login.php</strong> to <strong>https://youserver/login.php</strong>, our configuration would be the follwing:</p>
<p><code>RewriteCond %{REQUEST_URI} ^/(login\.php)<br />
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]</code></p>
<p>If there are a need to set up more than one URL, just copy and paste the 2 lines above and replace the name of the page.</p>
<p>Once the user request the url <strong>http://youserver/login.php</strong> he will remain in https even in pages that are not configured in httpd.conf, That happened because that configuration tell apache to get in https when the page login.php is requested, so we need tell Apache to get in http when some other page is requested, this is configured in the file <strong>$APACHE_HOME/conf.d/ssl.conf,</strong> do the same configuration done in file http.conf</p>
<p>Sample:<br />
Let&#8217;s suppose that after the user pass througt the login he will get the home.php page, so add the following lines in the file $APACHE_HOME/conf.d/ssl.conf:</p>
<p><code>RewriteEngine On</code></p>
<p>RewriteCond %{REQUEST_URI} ^/(home\.php)<br />
RewriteRule ^/(.*) http://%{SERVER_NAME}/$1 [R,L]</p>
<p>Don&#8217;t forget to restart the apache service</p>
<p>It&#8217;s done, <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  !!!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Unit Testing HTTPS Clients with a Self-signed Certificate]]></title>
<link>http://jonathanjwright.wordpress.com/2009/12/04/unit-testing-https-clients-with-a-self-signed-certificate/</link>
<pubDate>Fri, 04 Dec 2009 19:11:07 +0000</pubDate>
<dc:creator>Jonathan Wright</dc:creator>
<guid>http://jonathanjwright.wordpress.com/2009/12/04/unit-testing-https-clients-with-a-self-signed-certificate/</guid>
<description><![CDATA[Overview A quick and easy way to eliminate javax.net.ssl.SSLHandshakeException: sun.security.validat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h2>Overview</h2>
<p>A quick and easy way to eliminate <code>javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</code> without making dangerous changes to your default trust store.</p>
<h2>Steps</h2>
<ol>
<li>Create a new keystore and associated key entry by executing the following command (N.B. The password values for the <code>-keypass</code> and <code>-storepass</code> options must be identical for Tomcat to work):
<div class="example-code">
<pre><code>keytool -genkey -alias tomcat -keyalg RSA -keypass <b>&#60;password&#62;</b> -keystore <b>&#60;user-home&#62;</b>/tomcat.jks -storepass <b>&#60;password&#62;</b>
</code></pre>
</div>
</li>
<li>Enter and confirm your details.</li>
<li>Uncomment the &#8220;SSL HTTP/1.1 Connector&#8221; entry in <code>$CATALINA_BASE/conf/server.xml</code>.</li>
<li>Add <code>keystoreFile</code> and <code>keystorePass</code> attributes with the appropriate values. The result should now resemble the following:
<div class="example-code">
<pre><code>&#60;!-- Define a SSL HTTP/1.1 Connector on port 8443
	This connector uses the JSSE configuration, when using APR, the
	connector should be using the OpenSSL style configuration
	described in the APR documentation --&#62;

&#60;Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
	maxThreads="150" scheme="https" secure="true"
	keystoreFile="${user.home}/tomcat.jks" keystorePass="<b>&#60;password&#62;</b>"
	clientAuth="false" sslProtocol="TLS" /&#62;
</code></pre>
</div>
</li>
<li>Restart Tomcat and deploy your HTTPS constrained resources.</li>
<li>Add a <code>@BeforeClass</code> method to any tests generating HTTPS requests. Use this method to set the <code>javax.net.ssl.trustStore</code> and <code>javax.net.ssl.trustStorePassword</code> system properties. For example:
<div class="example-code">
<pre><code>@BeforeClass
public static void setUp() {
	System.setProperty("javax.net.ssl.trustStore", "<b>&#60;user-home&#62;</b>/tomcat.jks");
	System.setProperty("javax.net.ssl.trustStorePassword", "<b>&#60;password&#62;</b>");
}
</code></pre>
</div>
</li>
<li>JSSE now uses the new keystore created in steps 1 and 2 as opposed to the default, <code><b>&#60;java-home&#62;</b>/jre/lib/security/cacerts</code>, trust store.</li>
</ol>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Configuring HTTPS on Tomcat 6.0.18]]></title>
<link>http://pojoe.wordpress.com/2009/11/26/configuring-https-on-tomcat-6-0-18/</link>
<pubDate>Thu, 26 Nov 2009 16:14:59 +0000</pubDate>
<dc:creator>Joe Shum</dc:creator>
<guid>http://pojoe.wordpress.com/2009/11/26/configuring-https-on-tomcat-6-0-18/</guid>
<description><![CDATA[My Liferay application was running on the domain www.pojoe.ca and resided on Tomcat 6 in its own VM ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">My Liferay application was running on the domain <a href="http://www.pojoe.ca/">www.pojoe.ca</a> and resided on Tomcat 6 in its own VM while my SSO server was running on another Tomcat 6 instance on another VM under the domain sso.pojoe.ca. I wanted to establish an SSL connection between the two over a self-signed certificate.</span></span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">I started by setting up HTTPS on my SSO server.</span></span></p>
<ul>
<li><span style="font-family:Symbol;"><span style="font-size:small;"> </span></span><span style="font-family:Symbol;"><span style="font-size:small;"> </span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Create the keystore and private key in some directory. I use /opt/tomcat/security</span></span><span style="font-family:Arial,sans-serif;"> </span></li>
</ul>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -genkey -alias mykey -keypass changeit -keyalg RSA -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Symbol;"> </span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Answer the prompts.  Use <a href="http://www.pojoe.ca/">sso.pojoe.ca</a> (your domain) when asked for first/last name.  This is critical.</span></span></li>
</ul>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">NOTE:</span></span> <span style="font-family:Arial,sans-serif;"><span style="font-size:small;">From <a href="http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html">http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html</a></span></span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">I am using name-based virtual hosts on a secured connection which can be problematic. This is a design limitation of the SSL protocol itself. The SSL handshake, where the client browser accepts the server certificate, must occur before the HTTP request is accessed. As a result, the request information containing the virtual host name cannot be determined prior to authentication, and it is therefore not possible to assign multiple certificates to a single IP address. If all virtual hosts on a single IP address need to authenticate against the same certificate, the addition of multiple virtual hosts should not interfere with normal SSL operations on the server. Be aware, however, that most client browsers will compare the server&#8217;s domain name against the domain name listed in the certificate, if any (applicable primarily to official, CA-signed certificates). If the domain names do not match, these browsers will display a warning to the client user. In general, only address-based virtual hosts are commonly used with SSL in a production environment.</span></span></p>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">server.keystore is generated.</span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">List the keys currently stored in your keystore.</span></span></li>
</ul>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -list -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">You should see the PrivateKeyEntry named mykey in the listing.</span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">This should be sufficient to begin receiving connections using HTTPS.</span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Generate the certificate.</span></span></li>
</ul>
<blockquote><p>keytool -export -alias mykey -keypass changeit -file mycert.crt -keystore server.keystore</p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">mycert.crt is generated.</span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Import the certificate into the keystore.</span></span></li>
</ul>
<blockquote><p>keytool -import -alias mycert -keypass changeit -file mycert.crt -keystore server.keystore</p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">You receive a warning that it already exists in the keystore.  Ignore it.  It is because Java expects separate keystore and trust store files and we are using only one. </span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">List the keys currently stored in your keystore.</span></span></li>
</ul>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -list -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">You should see a TrustedCertEntry named </span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">mycert</span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;"> in the listing as well as the </span></span>PrivateKeyEntry named mykey<span style="font-family:Arial,sans-serif;"><span style="font-size:small;">.</span></span></li>
</ul>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Next I configured Tomcat to use the keystore I just setup. In server.xml uncomment the SSL connector port 8443. I’ve added the keystore file we created.</span></span></p>
<blockquote><p><span style="color:#008080;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#60;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">Connector</span></span></span> <span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">port</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;8443&#8243;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">protocol</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;HTTP/1.1&#8243;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">SSLEnabled</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;true&#8221;</span></span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> maxThreads</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;150&#8243;</span></span></span> <span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">scheme</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;https&#8221;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">secure</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;true&#8221;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">clientAuth</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;false&#8221;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">sslProtocol</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;TLS&#8221;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">keystoreFile</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;/opt/tomcat/security/server.keystore&#8221;</span></span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">keystorePass</span></span></span><span style="color:#000000;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">&#8220;changeit&#8221;</span></span></span><span style="color:#008080;"><span style="font-family:Arial,sans-serif;"><span style="font-size:x-small;">/&#62;</span></span></span></p></blockquote>
<p><span style="color:#000000;"> </span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">My SSO server is now ready to rock over HTTPS.</span></span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;"> </span></span> <span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Next I’ll enable HTTPS on my Application server running Liferay. </span></span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Create the keystore and private key in some directory. I use /opt/tomcat/security</span></span></p>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -genkey -alias mykey -keypass changeit -keyalg RSA -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Answer the prompts.  Use <a href="http://www.pojoe.ca/">www.pojoe.ca</a></span></span> <span style="font-family:Arial,sans-serif;"><span style="font-size:small;">(your domain) when asked for first/last name.  This is critical. See notes from above.</span></span></li>
</ul>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Copy the mycert.crt certificate from the SSO server to /opt/servers/tomcat/security</span></span></li>
</ul>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -import -alias mycert -keypass changeit -file mycert.crt -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">List the keys currently stored in your keystore.</span></span></li>
</ul>
<blockquote><p><span style="font-family:Arial,sans-serif;">keytool -list -keystore server.keystore</span></p></blockquote>
<ul>
<li><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">You should see a TrustedCertEntry named </span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">mycert</span></span><span style="font-family:Arial,sans-serif;"><span style="font-size:small;"> in the listing as well as </span></span>the PrivateKeyEntry named mykey.</li>
</ul>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Next we’ll set the JVM parameters to tell the application to use the trust store.</span></span></p>
<p><span style="font-family:Arial,sans-serif;">-Djavax.net.ssl.trustStore=/opt/servers/tomcat6.0.18/server.keystore</span></p>
<p><span style="font-family:Arial,sans-serif;">-Djavax.net.ssl.trustStorePassword=changeit</span></p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">My Liferay application server and my CAS SSO server can now talk over HTTPS.</span></span></p>
<p>&#160;</p>
<p><span style="font-family:Arial,sans-serif;"><span style="font-size:small;">Reference:</span></span></p>
<p>http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kostenlose SSL-Zertifikate, auch für IE]]></title>
<link>http://janschejbal.wordpress.com/2009/11/22/kostenlose-ssl-zertifikate-auch-fur-ie/</link>
<pubDate>Sun, 22 Nov 2009 14:13:51 +0000</pubDate>
<dc:creator>Jan</dc:creator>
<guid>http://janschejbal.wordpress.com/2009/11/22/kostenlose-ssl-zertifikate-auch-fur-ie/</guid>
<description><![CDATA[Um verschlüsselte Verbindungen über SSL bzw. HTTPS zu ermöglichen, benötigt man als Server-Betreiber]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Um verschlüsselte Verbindungen über SSL bzw. HTTPS zu ermöglichen, benötigt man als Server-Betreiber ein SSL-Zertifikat. Diese werden von Zertifizierungsstellen, sogenannten CAs, ausgegeben. Die CA überprüft, ob der Bestellende wirklich berechtigt (also Inhaber der Domain) ist, und stellt dann meist gegen viel Geld das Zertifikat aus. Damit kann sich die Website gegenüber einem Browser &#8220;ausweisen&#8221; und eine sichere, verschlüsste Verbindung wird möglich. Details gibt es in meinem <a href="http://janschejbal.wordpress.com/2009/01/18/uber-die-un-sicherheit-von-ssl-und-https/">ausführlichen SSL-Artikel</a>, wo auch noch ein paar Worte über die Sicherheit von SSL stehen.<img src="http://vg01.met.vgwort.de/na/371703ece76a49af95b898c3993cb093" width="1" height="1" alt="" style="border:0 none;margin:0;padding:0;"/></p>
<p>Nur Zertifikate von CAs, die der Browserhersteller als vertrauenswürdig in den Browser eingebaut hat, werden als gültig erkannt. Deswegen ist es schwierig, eine neue CA aufzubauen, denn die Kriterien für eine Aufnahme sind streng und es gibt viele Browserhersteller, die man zur Aufnahme bewegen muss. Aus diesem Grund gab es bis vor kurzem keine CA, die kostenlos Zertifikate ausgegeben hat und von allen gängigen Browsern akzeptiert wurde. <a href="http://www.cacert.org/">CAcert</a> und <a href="https://www.startssl.org/">StartCom/StartSSL</a> vergeben seit langem kostenlose Zertifikate. CAcert ist jedoch weder in Firefox noch im Internet Explorer als vertrauenswürdig enthalten. Somit kann man CAcert nicht für Seiten benutzen, die von Normalnutzern besucht werden, denn diese würden eine hässliche Sicherheitswarnung erhalten. StartSSL war schon länger in Firefox enthalten, jedoch nicht im Internet Explorer, und war für ernsthafte Nutzung mit unerfahrenen Nutzern daher auch ungeeignet.</p>
<p><strong>StartSSL hat es jetzt aber endlich <a href="https://blog.startcom.org/?p=205">geschafft</a>, in den Internet Explorer aufgenommen zu werden.</strong> Der Internet Explorer akzeptiert die kostenlosen StartSSL-Zertifikate somit seit kurzem als gültig. Dank einer eingebauten Auto-Update-Funktion funktioniert das auch mit veralteten Versionen des IE! Ein IE 6.0 aus meiner Sandbox-VM, Stand Anfang 2008, hat das Zertifikat anstandslos akzeptiert. Mozilla Firefox, Apple Safari (inkl. dem iPhone-Browser), <del datetime="2009-12-05T00:21:17+00:00">Opera,</del> Google Chrome und einige andere akzeptieren StartSSL schon länger, damit sind alle gängigen Browser abgedeckt. (Lediglich Konqueror unter einer aktuellen (K)Ubuntu-Version hatte Probleme damit.) <strong>StartSSL ist somit endlich eine voll einsetzbare CA geworden, und somit gibt es endlich <a href="https://www.startssl.com/?app=1">kostenlose SSL-Zertifikate</a> für alle!</strong> (StartSSL bietet übrigens auch EV-Zertifikate zu relativ humanen Preisen an.) <strong>Edit:</strong> Opera (etwa 5% Marktanteil) unterstützt StartSSL scheinbar leider doch noch nicht.</p>
<p>Als Serverbetreiber muss man übrigens der CA nicht besonders vertrauen (solange man nicht irgendwelche sehr besonderen Sachen macht wie Client-Zertifikate, aber das weiß man dann), wichtig ist nur, dass die Browser die CA akzeptieren. Eine bösartige, aber in Browsern als vertrauenswürdig eingetragene CA kann sich jederzeit für jede Website ein Zertifikat ausstellen lassen, unabhängig davon, ob der Websitebetreiber dort Kunde ist oder nicht. Die eigene CA könnte höchstens das eigene Zertifikat widerrufen und somit ungültig machen, aber mehr auch nicht. Darüber hinaus hat die CA noch ein paar persönliche Angaben, die aber bei einfachen Zertifikaten nicht über das hinausgehen, was die meisten Online-Shops auch wissen. Insbesondere den privaten Schlüssel des Zertifikats hat die CA normalerweise <strong>nicht</strong>! Es gibt zwar oft die Möglichkeit, die CA diesen Schlüssel generieren zu lassen, aber man kann es auch richtig machen und das selbst tun und den eigenen Schlüssel zertifizieren lassen. Selbst wenn man der CA also aus welchem Grund auch immer nicht vollständig vertrauen sollte, kann man sie als Serverbetreiber dennoch nutzen.</p>
<p>Ich erhalte für diesen Artikel <strong>keine</strong> Vergütung o.ä. von StartSSL/StartCom. Diesen Artikel habe ich geschrieben, weil es mich ankotzt, dass Firmen für das simple Ausstellen eines einfachen domain-validierten Zertifikats horrende Preise (oft sogar dreistellig!) verlangen, und weil ich froh bin, das es endlich eine kostenlose Alternative gibt und ich auf diese hinweisen möchte. Ich selbst habe von der Aufnahme in den IE auch erst heute erfahren. Nutzt diese kostenlose Möglichkeit, um die Datenübertragung zu euren Webseiten zu sichern! Macht diese Möglichkeit bekannt, damit die kommerziellen CAs ihre überzogenen Preise endlich etwas realistischer machen müssen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Can we disable Firefox's stupid self-signed encryption dialog?]]></title>
<link>http://rwmj.wordpress.com/2009/11/21/can-we-disable-firefoxs-stupid-self-signed-encryption-dialog/</link>
<pubDate>Sat, 21 Nov 2009 10:12:57 +0000</pubDate>
<dc:creator>rich</dc:creator>
<guid>http://rwmj.wordpress.com/2009/11/21/can-we-disable-firefoxs-stupid-self-signed-encryption-dialog/</guid>
<description><![CDATA[A lot has been written about how Firefox&#8217;s stupid dialog is a big step backwards for the web. ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://rwmj.wordpress.com/files/2009/11/firefox-self-signed-warning1.jpg"></p>
<p>A <a href="http://www.cs.uml.edu/~ntuck/mozilla/">lot</a> <a href="http://www.dscoduc.com/2009/02/Lessons-on-Self-Signed-Certs-from-Firefox/">has</a> <a href="http://www.0xdeadbeef.com/weblog/2008/08/firefox-3-ssl-and-self-signed-certs/">been</a> <a href="http://www.cs.uml.edu/~ntuck/mozilla/">written</a> <a href="http://boblord.livejournal.com/18402.html">about</a> how Firefox&#8217;s stupid dialog is a <a href="http://lauren.vortex.com/archive/000402.html">big step backwards</a> for the web.</p>
<p>But is there a way to disable it?  Ideally I&#8217;d like it to work like ssh &#8211; give me a simple single-click warning and display the certificate the first time, and after that don&#8217;t say anything at all unless the certificate changes unexpectedly.</p>
<h3>Update</h3>
<p> This <a href="http://www.cs.auckland.ac.nz/~pgut001/pubs/phishing.pdf">paper on phishing [PDF]</a> is excellent.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Shopping Cart Improvement Study: Enhanced checkout flow &amp; increasing the throughput of transactions]]></title>
<link>http://dejardins.com/2009/11/18/shopping-cart-improvement-study-enhanced-checkout-flow-increasing-the-throughput-of-transactions/</link>
<pubDate>Wed, 18 Nov 2009 12:15:56 +0000</pubDate>
<dc:creator>Matthieu Dejardins</dc:creator>
<guid>http://dejardins.com/2009/11/18/shopping-cart-improvement-study-enhanced-checkout-flow-increasing-the-throughput-of-transactions/</guid>
<description><![CDATA[65% shopping cart abandonment rate w/ an average cart value of $109. This practical presentation is ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>65% shopping cart abandonment rate w/ an average cart value of $109.</strong></p>
<p>This practical presentation is the one-stop-shop guide with data, best practices and latest trends in Checkout Flow Optimization.</p>
<p>Areas covered includes:<br />
- Checkout process KPIs for retailers<br />
- Top 20 reasons for cart abandonment<br />
- Retailer checkout investment priorities for 2009<br />
- 12 tips to minimize the drop-off spots<br />
- 2 methods to re-engage customers<br />
- Supposedly good ideas, think twice!</p>
<p><!-- SlideShare error: doc is missing or has illegal characters /[^-_a-zA-Z0-9]/ --></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[create self signed multi domain certificate]]></title>
<link>http://thomaswabner.wordpress.com/2009/11/17/create-self-signed-multi-domain-certificate/</link>
<pubDate>Tue, 17 Nov 2009 16:29:37 +0000</pubDate>
<dc:creator>Thomas Wabner</dc:creator>
<guid>http://thomaswabner.wordpress.com/2009/11/17/create-self-signed-multi-domain-certificate/</guid>
<description><![CDATA[I have a domain mydomain.com with some sub level domains like nexus.mydomain.com svn.mydomain.com ww]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I have a domain mydomain.com with some sub level domains like</p>
<ul>
<li>nexus.mydomain.com</li>
<li>svn.mydomain.com</li>
<li>www.mydomain.com</li>
</ul>
<p>Now I need a self signed certificate for all these domains because I want to use them over HTTPS. There are some steps to do this. First of all: you don&#8217;t need for this propose your own root certificate. You should replace all occurence of <em>mydomain.com</em> with your own domain name and sub domains.</p>
<p>On the <a href="http://www.gentoo.org">gentoo</a> server where the apache should host the domains, I have to create the certificate. I do following steps:</p>
<ol>
<li><strong>Generate a private key</strong>
<pre class="brush: bash;">
openssl genrsa -des3 -out server.key 1024
</pre>
</li>
<li><strong>Generate a CSR (Certificate Signing Request)</strong>
<pre class="brush: bash;">
openssl req -new -key mydomain.key -out mydomain.csr

Country Name (2 letter code) [DE]:DE
State or Province Name (full name) [Sachsen]:Sachsen
Locality Name (eg, city) [Leipzig]:Leipzig
Organization Name (eg, company) [My Company Ltd]:mydomain.com
Organizational Unit Name (eg, section) []:Information Technology
Common Name (eg, your name or your server's hostname) []:mydomain.com
Email Address []:thomas dot wabner at mydomain dot com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
</pre>
</li>
<li><strong>Remove Passphrase from Key</strong>
<pre class="brush: bash;">
cp mydomain.key mydomain.key.org
openssl rsa -in mydomain.key.org -out mydomain.key
</pre>
</li>
<li><strong>Generating a Self-Signed Certificate</strong>
<p>
To include all required subdomains a extensions file must be used. For example I have created a file /home/waffel/ssl/mydomain_extensions with following content:</p>
<pre class="brush: bash;">
[ mydomain_http ]
nsCertType      = server
keyUsage        = digitalSignature,nonRepudiation,keyEncipherment
extendedKeyUsage        = serverAuth
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid,issuer
subjectAltName          = @mydomain_http_subject
[ mydomain_http_subject ]
DNS.1 = www.mydomain.com
DNS.2 = nexus.mydomain.com
DNS.3 = trac.mydomain.com
DNS.4 = svn.mydomain.com
</pre>
</p>
<p>The last command to create the certificate is:</p>
<pre class="brush: bash;">
openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt -extfile /home/waffel/ssl/mydomain_extensions -extensions mydomain_http
</pre>
</li>
</ol>
<p>In the apache configuration for the ssl host&#8217;s I have enabled the ssl module with following content:</p>
<pre class="brush: bash;">
...
ServerAlias svn.mydomain.com trac.mydomain.com nexus.mydomain.com

        ErrorLog /var/log/apache2/ssl_mydomain_error_log
        &#60;IfModule log_config_module&#62;
                TransferLog /var/log/apache2/ssl_mydomain_access_log
        &#60;/IfModule&#62;

        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /etc/apache2/ssl/mydomain.crt
        SSLCertificateKeyFile /etc/apache2/ssl/mydomain.key
        SSLCertificateChainFile /etc/ssl/cacert.pem
        &#60;FilesMatch &#34;\.(cgi&#124;shtml&#124;phtml&#124;php)$&#34;&#62;
                SSLOptions +StdEnvVars
        &#60;/FilesMatch&#62;
        &#60;Directory &#34;/var/www/localhost/cgi-bin&#34;&#62;
                SSLOptions +StdEnvVars
        &#60;/Directory&#62;
        &#60;IfModule log_config_module&#62;
                CustomLog /var/log/apache2/ssl_mydomain_request_log \
                        &#34;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&#34;%r\&#34; %b&#34;
        &#60;/IfModule&#62;
...
</pre>
<p>For exmaple if you need such certificate to connect your <a href="http://maven.apache.org">maven</a> with a self installed <a href="http://nexus.sonatype.org">nexus</a> repositiory over https you can follow the article from <a href="http://ahoehma.wordpress.com/2009/11/17/maven-https-repository-with-self-signed-ssl-certificate/">ahoehma</a>.</p>
<p>A more detailed description with some beckground information about the certificate creation can be found <a href="http://www.akadia.com/services/ssh_test_certificate.html">here</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SSL and TLS Protocols Renegotiation Vulnerability]]></title>
<link>http://sdaguiar.wordpress.com/2009/11/15/ssl-and-tls-protocols-renegotiation-vulnerability/</link>
<pubDate>Sun, 15 Nov 2009 06:13:27 +0000</pubDate>
<dc:creator>Scott D. Aguiar</dc:creator>
<guid>http://sdaguiar.wordpress.com/2009/11/15/ssl-and-tls-protocols-renegotiation-vulnerability/</guid>
<description><![CDATA[On 11/05/09 the notice of Renegotiation vulnerabilities within SSL/TLS protocols became public.  The]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>On 11/05/09 the notice of Renegotiation vulnerabilities within SSL/TLS protocols became public.  The vulnerability allows for injection of arbitrary plain-text allowing for HTTP requests, or impersonate the victim, as well as other consequences.</p>
<p>~Opinion~</p>
<p>While the known possible outcomes of this vulnerability seem similar to many of the run-of-the-mill exploits we&#8217;ve seen, the ramifications behind this vulnerability are monumental.</p>
<p>Just the number of vendors, and their products effected by this alone show that there will soon be a revolution.  The affect on everyday lives of so many will undoubtedly negative.</p>
<p>Either a major overhaul of the protocols is necessary, or we are in for a new breed of security focus.  An overhaul is most likely to occur; however, if it doesn&#8217;t we will have to be prepared to move into a security stance which covers security in both a pre- and post- environment.</p>
<p>Our previously hardened infrastructure would have to be analyzed, and protected during use.  Protecting our protection if you will.</p>
<p>While all this seems goofy, given the fact that we will most likely just patch and move on, it seems to beckon the time for more intuitive security measures is nearing, or hear.  Security measures that&#8230; think.</p>
<p>Packets with guns.  Headers with secret handshakes. Connections that conspire against their own existence.</p>
<p>~/Opinion~</p>
<p>As usual, if you want to hear more information, visit the link below&#8230; And I am very interested in hearing comments on this one&#8230; Maybe I am just blowing it out of proportion, but it seems big.</p>
<p><a class="aligncenter" title="SSL/TLS Renegotiation Vulnerability" href="http://www.kb.cert.org/vuls/id/120541" target="_blank">Vulnerability Note VU#120541 (New Window)</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Quickie HowTo - Apache with SSL]]></title>
<link>http://jasonk2600.wordpress.com/2009/11/14/quickie-howto-apache-with-ssl/</link>
<pubDate>Sat, 14 Nov 2009 22:42:21 +0000</pubDate>
<dc:creator>jasonk2600</dc:creator>
<guid>http://jasonk2600.wordpress.com/2009/11/14/quickie-howto-apache-with-ssl/</guid>
<description><![CDATA[Installation Install OpenSSL from the FreeBSD ports collection. # cd /usr/ports/security/openssl # m]]></description>
<content:encoded><![CDATA[Installation Install OpenSSL from the FreeBSD ports collection. # cd /usr/ports/security/openssl # m]]></content:encoded>
</item>
<item>
<title><![CDATA[12/14/09]]></title>
<link>http://signotes.wordpress.com/2009/11/10/121409/</link>
<pubDate>Tue, 10 Nov 2009 05:01:22 +0000</pubDate>
<dc:creator>markkkmn</dc:creator>
<guid>http://signotes.wordpress.com/2009/11/10/121409/</guid>
<description><![CDATA[How to make conference calls with Skype. Turn on HTTPS for Gmail sessions. What is Net Neutrality Dr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>How to make <a href="http://www.ehow.com/how_2015260_thre--way-calls-with-skype.html" target="_blank">conference calls with Skype</a>.</p>
<p><a href="http://mail.google.com/support/bin/answer.py?hl=en&#38;ctx=mail&#38;answer=74765" target="_blank">Turn on HTTPS</a> for Gmail sessions.</p>
<p><a href="http://lessfeet.com/2009/11/what-is-net-neutrality/" target="_blank">What is Net Neutrality</a></p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/l9jHOn0EW8U&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/l9jHOn0EW8U&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p><a href="https://www.getdropbox.com/" target="_blank">Dropbox</a> is like a on-line drive that can be accessed on any computer anywhere. It appears in a window just like any other folder. Install the <a href="https://www.getdropbox.com/" target="_blank">Dropbox</a> on multiple computer and your stored documents will be shared with all the computers. You may also access the files on-line. They can even be shared with other. This service is free for the first 2 Gigabytes. For Windows, Macs and Linux.<br />
<span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/Wozx4lBDVe0&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/Wozx4lBDVe0&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p>Microsoft&#8217;s <a href="http://skydrive.live.com" target="_blank">Skydrive</a> gives you 25 gigabytes absolutely free but you need a third party program to make it a virtual drive. &#8220;<a href="http://skydriveexplorer.com/index.php" target="_blank">Skydrive Explorer</a>&#8221; is a free program that does this.</p>
<p>For all you Ubuntu users there&#8217;s <a href="https://one.ubuntu.com/" target="_blank">Ubuntu One</a> that is much like Dropbox.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Los parámetros y el HTTPS: GET, POST y más]]></title>
<link>http://mbpfernand0.wordpress.com/2009/11/09/los-parametros-y-el-https-get-post-y-mas/</link>
<pubDate>Mon, 09 Nov 2009 18:05:45 +0000</pubDate>
<dc:creator>mbpfernand0</dc:creator>
<guid>http://mbpfernand0.wordpress.com/2009/11/09/los-parametros-y-el-https-get-post-y-mas/</guid>
<description><![CDATA[En HTTPS Data Exposure &#8211; GET vs POST un resumen rápido de la exposición de los datos que se tr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>
En <a href="http://michael-coates.blogspot.com/2009/11/https-data-exposure-get-vs-post.html">HTTPS Data Exposure &#8211; GET vs POST</a> un resumen rápido de la exposición de los datos que se transmiten mediante el protocolo cifrado https considerando GET, POST, si la conexión va cifrada o no y los diversos participantes en la transmisión y recepción.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Setting SSL with Apache 2.x on Windows]]></title>
<link>http://luckylarry.wordpress.com/2009/11/08/setting-ssl-with-apache-2-x-on-windows/</link>
<pubDate>Sun, 08 Nov 2009 01:08:04 +0000</pubDate>
<dc:creator>luckylarry</dc:creator>
<guid>http://luckylarry.wordpress.com/2009/11/08/setting-ssl-with-apache-2-x-on-windows/</guid>
<description><![CDATA[Pretty similar to setting up SSL on unix/linux and actually not that hard to do. Just a few things t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Pretty similar to setting up SSL on unix/linux and actually not that hard to do. Just a few things to remember as a checklist.</p>
<p>If your Apache install didn’t include openSSL then you’ll need to download a few things:</p>
<p>Normally you can find <strong>mod_ssl.so</strong> in your apache install directory in modules.<br />
In conf/extras you’ll find <strong>httpd_ssl.conf</strong></p>
<p>Or just download Apache with openSSL here. Next step is to create a certificate. Only thing to look at really is your server name in your <strong>httpd.conf</strong> file (found in the conf/ directory). You use your server name in your certificate setup – these must match otherwise you’ll get errors (it’ll still work though).</p>
<p><a rel="bookmark" href="http://luckylarry.co.uk/2009/10/setting-ssl-with-apache-2-x-on-windows/">Setting SSL with Apache 2.x on Windows</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HTTPS, SSL attack vector discovered; fix is on the way]]></title>
<link>http://atomfire.com/2009/11/07/https-ssl-attack-vector-discovered-fix-is-on-the-way/</link>
<pubDate>Sat, 07 Nov 2009 11:37:59 +0000</pubDate>
<dc:creator>Atomfire Tech News</dc:creator>
<guid>http://atomfire.com/2009/11/07/https-ssl-attack-vector-discovered-fix-is-on-the-way/</guid>
<description><![CDATA[A security flaw that has been identified in the Transport Layer Security (TLS) protocol could open t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://arstechnica.com/security/news/2009/11/https-ssl-attack-vector-discovered-fix-is-on-the-way.ars?utm_source=rss&#38;utm_medium=rss&#38;utm_campaign=rss"> <img src="http://static.arstechnica.com/assets/2009/02/security-thumb-230x130-1285-f.png" alt="companion photo for HTTPS, SSL attack vector discovered; fix is on the way" /></a></p>
<p>A security flaw that has been identified in the Transport Layer Security (TLS) protocol could open the door for man-in-the-middle (MITM) attacks against HTTPS communication. <!--more-->All implementations are said to be vulnerable because the flaw is in the protocol itself. Security researchers are taking steps to resolve the problem.</p>
<p>The flaw was originally found in August by researchers Marsh Ray and Steve Dispensa from security company PhoneFactor. They chose not to widely publicize the issue and began working in secret with other security experts and industry leaders to develop solutions. The flaw became known to the public this week when Martin Rex of SAP discovered it independently and <a href="http://www.ietf.org/mail-archive/web/tls/current/msg03928.html">posted a disclosure</a> to the mailing list of the Internet Engineering Task Force.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The difference between http and https]]></title>
<link>http://securityquestions.wordpress.com/2009/11/05/http-and-https/</link>
<pubDate>Thu, 05 Nov 2009 00:56:11 +0000</pubDate>
<dc:creator>peterhgregory</dc:creator>
<guid>http://securityquestions.wordpress.com/2009/11/05/http-and-https/</guid>
<description><![CDATA[Question: What is the difference between: http:// https:// When should I be looking for that &#8220;]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Question: What is the difference between:</p>
<p>http://<br />
https://</p>
<p>When should I be looking for that &#8220;s&#8221;?</p>
<p>Answer: when you are viewing a web page with a web browser, you&#8217;ll see the web page&#8217;s address in the address bar. It will always begin with http:// or https://.  When the address begins with https, you can be assured that the contents of the page was encrypted when it was sent from the web site to your computer.</p>
<p>To be sure, however, you want to also look for the little padlock symbol that is usually in the lower left corner of the browser window, on the status bar.</p>
<p>Some malicious web sites try to fool users by displaying a &#8220;status bar&#8221; that resembles a browser&#8217;s status bar, in order to try and fool the user. It is important to know for sure that you see a real padlock and not a fake one.</p>
<p>Newer browsers also provide a region (just to the left of the address in Firefox) that you can click on to view security information about the site you are visiting.  You should find and practice using this feature, and be familiar with how this looks for web sites that you know are legitimate. That way you will be more apt to recognize when you are on a site that is not legitimate.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CAPTCHA scraping - Opening urls with urllib2 over an https proxy]]></title>
<link>http://garyluu.com/2009/10/28/captcha-scraping-opening-urls-with-urllib2-over-an-https-proxy/</link>
<pubDate>Wed, 28 Oct 2009 05:05:22 +0000</pubDate>
<dc:creator>gluu</dc:creator>
<guid>http://garyluu.com/2009/10/28/captcha-scraping-opening-urls-with-urllib2-over-an-https-proxy/</guid>
<description><![CDATA[I&#8217;m currently trying to scrape CAPTCHA images over Tor (my own personal botnet ) for certain s]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;m currently trying to scrape CAPTCHA images over Tor (my own personal botnet <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) for certain sites that maintain aggressive forms of rate limiting (i.e. Yahoo/Ebay). Strangely enough Google and Microsoft do not care as much. They probably spend more time solving problems like&#8230;having a good search engine?</p>
<p>Most CAPTCHA&#8217;s appear on https:// protected pages, hence the need for a https proxy to use with Tor. I tried Polipo, which doesn&#8217;t support https proxying (which I soon found out). However, Privoxy does.</p>
<p>Once I setup the actual proxy itself to connect to my Tor router, I find out that currently, most linux packages of python (and Mac OS X Snow Leopard) do not contain the necessary patch to support opening urls over an https proxy. You need svn revision numbers 72880 and up (any version released roughly after July of 2009) for python 2.6. The patch is also somewhere in 3.x. Linux package management maintainers really need to push up to date versions with backported fixes more frequently or quickly.</p>
<p>Details on the bug reporting and fix are here:</p>
<p>http://bugs.python.org/issue1424152</p>
<p>Note that the correct way of using the https proxy code is to call</p>
<blockquote><p>proxy_support = urllib2.ProxyHandler({&#8220;https&#8221; : &#8220;https://127.0.0.1:8118&#8243;})</p>
<p>opener = urllib2.build_opener(proxy_support)</p></blockquote>
<p>Why is https proxying so poorly supported? It boggles my mind. I guess open source developers don&#8217;t run into this problem often.</p>
<p>This has been a public service announcement by the Foundation for Annoyed Programmers (FAP).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to enable HTTPS in Tomcat]]></title>
<link>http://developies.wordpress.com/2009/10/24/how-to-enable-https-in-tomcat/</link>
<pubDate>Sat, 24 Oct 2009 06:28:39 +0000</pubDate>
<dc:creator>joker400</dc:creator>
<guid>http://developies.wordpress.com/2009/10/24/how-to-enable-https-in-tomcat/</guid>
<description><![CDATA[In order to configure your Tomcat for HTTPS, you must first generate a server certificate for your w]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter" title="Tomcat" src="http://tomcat.apache.org/images/tomcat10.jpg" alt="" width="230" height="150" /></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">In order to configure your Tomcat for HTTPS, you must first generate a server certificate for your web site. To do this, you can use the keytool command, which comes with your JDK or JRE. You&#8217;ll need to open a command shell, and your shell will need to know how to find your Java runtime environment properly. To do this on Windows, type the following commands into your command shell if you have a JDK installed:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code>C:\&#62; set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code>C:\&#62; set PATH=%JAVA_HOME%\bin;%PATH%</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">or, if you have a JRE, type these commands:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code>C:\&#62; set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code>C:\&#62; set PATH=%JAVA_HOME%\bin;%PATH%</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">On Linux, it&#8217;s very similar. For the JDK (as root):</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code># export JAVA_HOME=/usr/java/latest</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code># export PATH=$JAVA_HOME/bin:$PATH</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Make sure you change /usr/java/latest to the root directory path of your JDK. For a JRE, type:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><!--more--></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code># export JRE_HOME=/usr/java/latest</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code># export PATH=$JRE_HOME/bin:$PATH</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Then, test it by running:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><code>keytool</code></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">You should see the keytool command&#8217;s help text. If not, you probably have the wrong path to your Java runtime, or it is not installed properly.</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Next, type these commands to generate a self-signed server certificate:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;"><br />
keytool -genkeypair -alias tomcat -keyalg RSA -keysize 1024 -dname &#8220;CN=localhost, OU=Organization, O=Company Name, L=City, S=State, C=US&#8221;<br />
-validity 365 -keystore keystore<br />
Enter keystore password: &#60;enter a new password here&#62;</span></p>
<p><span style="font-family:Courier;"> </span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Enter key password for &#60;tomcat&#62;</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;"> (RETURN if same as keystore password): &#60;just hit enter here&#62;<br />
</span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">The password you enter in the first password prompt will be the password for the keystore where your server certificate is stored.</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Next, edit your Tomcat&#8217;s conf/server.xml to enable the HTTPS connector. Look for a connector that looks like this:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;"><br />
&#60;!&#8211;<br />
&#60;Connector port=&#8221;8443&#8243; protocol=&#8221;HTTP/1.1&#8243;<br />
SSLEnabled=&#8221;true&#8221;<br />
maxThreads=&#8221;150&#8243; scheme=&#8221;https&#8221;<br />
secure=&#8221;true&#8221;</span></p>
<p><span style="font-family:Courier;"> </span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">clientAuth=&#8221;false&#8221; sslProtocol=&#8221;TLS&#8221; /&#62;</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;">&#8211;&#62;<br />
</span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">By default, it is commented out. To <em>uncomment</em> it, remove the line just before the element, and also the line just after it. Then, add the attributes keystoreFile and keystorePass, so that it looks like this:</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;"><br />
&#60;Connector port=&#8221;8443&#8243; protocol=&#8221;HTTP/1.1&#8243;<br />
SSLEnabled=&#8221;true&#8221;</span></p>
<p><span style="font-family:Courier;"> </span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">maxThreads=&#8221;150&#8243; scheme=&#8221;https&#8221;<br />
secure=&#8221;true&#8221;</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">clientAuth=&#8221;false&#8221; sslProtocol=&#8221;TLS&#8221;</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;"><span style="font-family:Courier;"> keystoreFile=&#8221;conf/keystore&#8221; keystorePass=&#8221;your password&#8221;<br />
/&#62;<br />
</span></p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">If you&#8217;re running Tomcat on Windows, you may set the port number to 443, which is the default HTTPS port number. On non-Windows operating systems you can only do that if you run Tomcat as root, which we don&#8217;t recommend.</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">Once you&#8217;ve completed the steps above, restart Tomcat, and try connecting to Tomcat over HTTPS with a URL such as <a style="color:#fe4e00;text-decoration:none;cursor:pointer;" title="https://localhost:8443" href="https://localhost:8443/">https://localhost:8443</a> (you have to specify both &#8220;https&#8221; and port 8443 if you have configured it to listen on port 8443). Your web browser will warn you about the self-signed certificate, but otherwise it should work.</p>
<p style="font-size:12px;line-height:16px;margin:10px 0;padding:0;">To fix that warning you&#8217;ll need to purchase a commercial HTTPS certificate and install it. See the instructions on how to do this in Chapter 6: Security of the book <a style="color:#fe4e00;text-decoration:none;cursor:pointer;" href="http://oreilly.com/catalog/9780596003180/" target="new">Tomcat: The Definitive Guide</a> (O&#8217;Reilly).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linksys WRT54GL automated DHCP renew]]></title>
<link>http://mvmn.wordpress.com/2009/10/21/java-ssl-wrt54gl-auto-ip-renew/</link>
<pubDate>Wed, 21 Oct 2009 22:27:41 +0000</pubDate>
<dc:creator>mvmn</dc:creator>
<guid>http://mvmn.wordpress.com/2009/10/21/java-ssl-wrt54gl-auto-ip-renew/</guid>
<description><![CDATA[I&#8217;ve been having trouble with my Internet connection at home &#8211; from time to time the con]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://mvmn.wordpress.com/files/2009/10/routerresetter.png" alt="RouterResetter" title="RouterResetter" width="258" height="165" class="alignright size-full wp-image-348" /> I&#8217;ve been having trouble with my Internet connection at home &#8211; from time to time the connection stalled and I had to make router renew IP via DHCP to get connection back (any my router is <strong>Linksys WRT54GL</strong>).</p>
<p>Don&#8217;t know whose fault it is &#8211; router or provider (I blame provider because this tends to happen more often at night, and I don&#8217;t think my router has a clock in it (-; ), but I&#8217;m not that good at networks to find the problem and fix it (especially if it&#8217;s at provider side &#8211; I can never convince them that something that happens &#8220;once in a while&#8230; oh wait, it just happened, yes!&#8221; (-: is their fault).</p>
<p>So I decided to make a little program that would do this for me -<strong> check Internet connection on timely basis, and make router renew IP if connection is dead (by sending POST request to it&#8217;s web interface page)</strong>, so I wouldn&#8217;t have to do it myself (and also could leave downloads for night (-: ).<br />
<!--more--><br />
Which language/technology to choose? (Under Linux you could&#8217;ve think of some shell or Perl script for this, but for Windows the choice is not so obvious. And for OS X?) Of-course I&#8217;ve chosen <strong>Java</strong> &#8211; because I like it and I write mostly in it, but also for crossplatformness (-:</p>
<p>And as my router is configured to present it&#8217;s web interface on <strong>HTTPS</strong> this is also a good opportunity to learn/tell a bit about <strong>working with HTTPS and security certificates in Java</strong>.</p>
<p>So, the main tasks were:<br />
- write Java code that could do authentication on Router web-interface via HTTPS and sending POST request with some params to &#8220;apply.cgi&#8221; page there (most tricky);<br />
- code for checking Internet connection (getting Google&#8217;s main page and checking it for HTTP status 2xx and &#8220;Google&#8221; seems Ok way);<br />
- glue code for this all + GUI and related stuff (necessary but irrelevant for our little lesson).</p>
<p>Getting ahead, <strong>here&#8217;s the final code</strong>: <a href="http://mvmn.pastebin.com/f3db229e7">http://mvmn.pastebin.com/f3db229e7</a><br />
It uses <strong>Commons HTTP Client 3.1</strong>, and thus depends on <strong>commons-httpclient-3.1.jar</strong> and it&#8217;s dependencies, which are <strong>apache-mime4j-0.6.jar</strong>, <strong>commons-codec-1.3.jar</strong> and <strong>commons-logging-1.1.1.jar</strong>.</p>
<p><strong>If you&#8217;re not a developer but you need this stuff</strong>, you can <a href="http://cachexy.ho.com.ua/dl/wrt54gl-resetter.zip">get ZIP with the program packaged in JAR file here</a>. But you&#8217;ll have to download the four abovementioned JARs and put in same folder where you&#8217;ll unzip the wrt54gl-resetter.jar. To make it easier, here are the links:<br />
1. <a href="http://www.apache.org/dist/httpcomponents/commons-httpclient/binary/commons-httpclient-3.1.zip">commons-httpclient-3.1.jar</a><br />
2. <a href="http://www.apache.org/dist/james/mime4j/apache-mime4j-0.6-bin.zip">apache-mime4j-0.6.jar</a><br />
3. <a href="http://archive.apache.org/dist/commons/codec/binaries/commons-codec-1.3.zip">commons-codec-1.3.jar</a><br />
4. <a href="http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.zip">commons-logging-1.1.1.jar</a><br />
(note: links link to ZIP files, you&#8217;ll have to unzip JARs out of them).</p>
<p>So what about SSL certificates and Java? If your certificate is not recognized you&#8217;ll have to download install certificate in keystore, but this is not what we want to do, right? Any dirty and ugly way to skip SSL certificate check is good for us &#8211; we just want this little utility work without other hassle.</p>
<p>Well, this is described already for example <a href="http://en.wikibooks.org/wiki/WebObjects/Web_Services/How_to_Trust_Any_SSL_Certificate">in this article</a> &#8211; you have to make your own instance of <strong>javax.net.ssl.X509TrustManager</strong>, let&#8217;s say acceptAllX509TrustManager, which will trust everything. OK so far, but what&#8217;s next?</p>
<p>Next comes something like this:<br />
<code>javax.net.ssl.SSLContext context = javax.net.ssl.SSLContext.getInstance("SSL");<br />
context.init(null, acceptAllX509TrustManager, new SecureRandom());<br />
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());</code></p>
<p>We&#8217;re making <strong>javax.net.ssl.SSLContext</strong> with our acceptAllX509TrustManager, so far so good, and then we register it&#8217;s SocketFactory as javax.net.ssl.HttpsURLConnection&#8217;s DefaultSSLSocketFactory. Not good &#8211; we&#8217;re supposed to use Commons HTTPClient, so this socket factory won&#8217;t be used. What to do?</p>
<p>The way that I&#8217;ve found is to create new <strong>org.apache.commons.httpclient.protocol.Protocol</strong> that will use <strong>org.apache.commons.httpclient.protocol.ProtocolSocketFactory</strong> instance as wrapper for above mentioned javax.net.ssl.SSLSocketFactory, and register it using <strong>Protocol.registerProtocol()</strong>.</p>
<p>The code is:<br />
<code>Protocol myhttps = new Protocol("https", new ProtocolSocketFactory() {<br />
SSLSocketFactory socketFactory;public ProtocolSocketFactory setSocketFactory(SSLSocketFactory socketFactory) {<br />
this.socketFactory = socketFactory;<br />
return this;<br />
}public Socket createSocket(String host, int port) throws IOException, UnknownHostException {<br />
return socketFactory.createSocket(host, port);<br />
}</p>
<p>public Socket createSocket(String host, int port, InetAddress localAddress, int localPort) throws IOException, UnknownHostException {<br />
return socketFactory.createSocket(host, port, localAddress, localPort);<br />
}</p>
<p>public Socket createSocket(String host, int port, InetAddress localAddress, int localPort, HttpConnectionParams params) throws IOException, UnknownHostException,<br />
ConnectTimeoutException {<br />
return socketFactory.createSocket(host, port, localAddress, localPort);<br />
}</p>
<p>}.setSocketFactory(context.getSocketFactory()), 443);</p>
<p>Protocol.registerProtocol("https", myhttps);</p>
<p></code></p>
<p>Ok, looks like complete equivalent of abovementioned code but for HTTPClient&#8217;s SSLSocketFactory. And it works as expected &#8211; great!</p>
<p>Final words: nicely packaged as JAR file with MANIFEST.MF mentioning all dependencies this util+libs can be easily (re)distributed and used under all J2SE 5 supporting platforms. Enjoy.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Spam]]></title>
<link>http://123pr0v4.wordpress.com/2009/10/20/caratteristiche_dello_spam/</link>
<pubDate>Tue, 20 Oct 2009 08:05:04 +0000</pubDate>
<dc:creator>123pr0v4</dc:creator>
<guid>http://123pr0v4.wordpress.com/2009/10/20/caratteristiche_dello_spam/</guid>
<description><![CDATA[Un pò di tempo fa mi è venuta questa mail sospettosa: Mittente: CartaSi S.p.A Oggetto: CartaSi premi]]></description>
<content:encoded><![CDATA[Un pò di tempo fa mi è venuta questa mail sospettosa: Mittente: CartaSi S.p.A Oggetto: CartaSi premi]]></content:encoded>
</item>
<item>
<title><![CDATA[Eliminate spurious orbtrc files on WebSphere client when using HTTPS tunneling]]></title>
<link>http://ivansmirnov.wordpress.com/2009/10/19/eliminate-spurious-orbtrc-files-on-websphere-client-when-using-https-tunneling/</link>
<pubDate>Tue, 20 Oct 2009 00:42:54 +0000</pubDate>
<dc:creator>ivansmirnov</dc:creator>
<guid>http://ivansmirnov.wordpress.com/2009/10/19/eliminate-spurious-orbtrc-files-on-websphere-client-when-using-https-tunneling/</guid>
<description><![CDATA[When using WebSphere Application Client (J2EE, thin or pluggable) to access EJBs on WebSphere Applic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When using WebSphere Application Client (J2EE, thin or pluggable) to access EJBs on WebSphere Application Server, an optional ORB trace file may be created. You can specify trace file location and name, but if you do not, default file name is orbtrc.timestamp.txt (e.g. orbtrc.10112009.1815.37.txt)<br />
Of course, oftentimes you do not want any trace, and you certainly can turn tracing off. Well, with one exception. If you are using HTTP tunneling with SSL (HTTPS tunneling), trace file will be created automatically with the default name. This behavior has been known to affect several versions of WAS. I last confirmed it in WAS 6.1.<br />
This may be annoying or inappropriate in some client environments. As a workaround, redirect trace output to null device by adding the following parameters to your client JVM command line:<br />
for Windows<br />
<code>-Dcom.ibm.CORBA.Debug.Output=nul:</code><br />
for Unix/Linux, use /dev/null.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
