<?xml version="1.0" encoding="utf-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Quendor &#187; utter bullshit</title>
	<atom:link href="http://www.quendor.org/archiv/tag/utter-bullshit/feed" rel="self" type="application/rss+xml" />
	<link>http://www.quendor.org</link>
	<description>Full of Useful Facts</description>
	<lastBuildDate>Thu, 20 May 2010 14:26:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WS-Security and BinarySecurityToken</title>
		<link>http://www.quendor.org/archiv/492</link>
		<comments>http://www.quendor.org/archiv/492#comments</comments>
		<pubDate>Wed, 26 Aug 2009 10:04:02 +0000</pubDate>
		<dc:creator>Michael Kleinhenz</dc:creator>
				<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java security]]></category>
		<category><![CDATA[personal opinion]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[utter bullshit]]></category>

		<guid isPermaLink="false">http://www.quendor.org/?p=492</guid>
		<description><![CDATA[Just to get you up and running: if your Java based SOAP request fails with something like &#8220;certificate missing&#8221;, first inspect your generated SOAP code. If it contains something like this:
&#60;ds:KeyInfo Id="KeyId-F26B331D23680CE7A712512821313252"&#62;
&#60;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-F26B331D23680CE7A712512821313343"&#62;
&#60;ds:X509Data&#62;
...
голова болит секс
   голова болит секс 
than you have to request a &#8220;direct reference&#8221; to your certificate, which will [...]]]></description>
			<content:encoded><![CDATA[<p>Just to get you up and running: if your Java based SOAP request fails with something like &#8220;certificate missing&#8221;, first inspect your generated SOAP code. If it contains something like this:</p>
<pre>&lt;ds:KeyInfo Id="KeyId-F26B331D23680CE7A712512821313252"&gt;
&lt;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-F26B331D23680CE7A712512821313343"&gt;
&lt;ds:X509Data&gt;
...</pre>
<div style="display:none"><a href="http://nerealp.co.cc/121.html">голова болит секс</a></div>
<p>  <strong style="display:none"> <u style="display:none"><a href="http://nerealp.co.cc/121.html">голова болит секс</a></u> </strong><br />
than you have to request a &#8220;direct reference&#8221; to your certificate, which will result in a binarySecurityToken element in the SOAP header containing your encoded certificate:</p>
<pre>&lt;wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soap:mustUnderstand="1"&gt;
&lt;wsse:BinarySecurityToken
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" ...
<ul style="display:none">
<li><a href="http://nerealp.co.cc/121.html">голова болит секс</a></li>
</ul>

<u style="display:none"></u> </pre>
<p>You can enable the direct reference by adding a parameter to the WSS4J interceptor:</p>
<pre>outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP + " " + WSHandlerConstants.SIGNATURE);
outProps.put(WSHandlerConstants.USER, "my_amazon_cert");
outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, ClientCallbackHandler.class.getName());
outProps.put(WSHandlerConstants.SIG_PROP_FILE, "amazonsecurity.properties");
outProps.put(WSHandlerConstants.SIG_KEY_ID, "DirectReference"); <em style="display:none"></em> <strong style="display:none"></strong>  </pre>
<p> <strong style="display:none"><a href="http://two.porpovidlo.ru/pussy/1379-8.html">красноярские свингеры</a></strong><br />
The reason for all of this is that some services can&#8217;t work with referenced certificates. Amazon Product Advertising API for example. This has caused some hours of research to find out. Reasoning from my Google research, it seems that only a few are actually using WS-Security this way. My personal opinion: most security APIs are completely over engineered and utter bullshit. Someone should tell those security guys how to design proper APIs whithout cluttering it with hundreds of configuration options, preferences, diverse and esoteric configuration files and the like. This really annoys me. And it is not a problem of the Java security APIs, but a language crossing problem.<br />
I mean: I, as an application designer, just don&#8217;t want to configure every tiny bit of security part when using the security layer. There should be some &#8220;best practice&#8221; &#8211; simple and secure &#8211; way to use security. It should be transparent and unintrusive to my business code.<br />
Instead of this, todays security APIs are complicated, please-configure-every-tiny-bit beasts in the notion of &#8220;if you want security, then go and study encryption algorithms and encoding formats first, you bastard&#8221;. It feels like the WS-* standards before WS-I came. Or EJB before EJB3.<br />
And, I think this is a large security issue. As the application designers are forced to integrate complicated security APIs without the time (or notion) to fully understand them, there is a lot of possible pitfalls that can potentially ruin your security. So you are also forced to be a security expert understanding all the different things going on in the security layer. I don&#8217;t want this. I want to focus on business code. Abstraction and clear responsibility is the base of any large system and needed to conquer complexity. But instead, looking at current Security APIs is like looking at the stone age of software engineering.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.quendor.org/archiv/492/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
