<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Summarizing PKI Certificate Validation</title>
	<atom:link href="http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/</link>
	<description>Simple Security.</description>
	<lastBuildDate>Thu, 12 Jan 2012 15:08:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Walter Goulet</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-2971</link>
		<dc:creator>Walter Goulet</dc:creator>
		<pubDate>Thu, 12 Jan 2012 13:56:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-2971</guid>
		<description>Hi Deepak,

BER (Basic Encoding Rules - en.wikipedia.org/wiki/Basic_Encoding_Rules) is basically just a method to encode certificate data in a protocol message. Sounds like what you are seeing is that your endpoint is not properly configured with a certificate so it&#039;s not sending anything to the peer.

Walter</description>
		<content:encoded><![CDATA[<p>Hi Deepak,</p>
<p>BER (Basic Encoding Rules &#8211; en.wikipedia.org/wiki/Basic_Encoding_Rules) is basically just a method to encode certificate data in a protocol message. Sounds like what you are seeing is that your endpoint is not properly configured with a certificate so it&#8217;s not sending anything to the peer.</p>
<p>Walter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deepak Khandelwal</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-2905</link>
		<dc:creator>Deepak Khandelwal</dc:creator>
		<pubDate>Tue, 03 Jan 2012 15:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-2905</guid>
		<description>I am trying to establishing a IPSec tunnel with the authentication method using certificates. the peer end asks for a certificate as certification request payload in the ISAKMP . But my end replied with some BER Error: Empty choice was found.
Any idea what is BER and what can be the problem ??</description>
		<content:encoded><![CDATA[<p>I am trying to establishing a IPSec tunnel with the authentication method using certificates. the peer end asks for a certificate as certification request payload in the ISAKMP . But my end replied with some BER Error: Empty choice was found.<br />
Any idea what is BER and what can be the problem ??</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Walter Goulet</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-2098</link>
		<dc:creator>Walter Goulet</dc:creator>
		<pubDate>Wed, 07 Sep 2011 18:53:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-2098</guid>
		<description>Thanks! In light of the Diginotar breach, I have some additional thoughts I plan on blogging about soon. You might be interested in this article I wrote up for the InfoSec Institute last month as well: http://resources.infosecinstitute.com/understanding-pki/</description>
		<content:encoded><![CDATA[<p>Thanks! In light of the Diginotar breach, I have some additional thoughts I plan on blogging about soon. You might be interested in this article I wrote up for the InfoSec Institute last month as well: <a href="http://resources.infosecinstitute.com/understanding-pki/" rel="nofollow">http://resources.infosecinstitute.com/understanding-pki/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon H</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-2096</link>
		<dc:creator>Jon H</dc:creator>
		<pubDate>Wed, 07 Sep 2011 18:23:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-2096</guid>
		<description>Excellent summary - all the pertinent info in one place!</description>
		<content:encoded><![CDATA[<p>Excellent summary &#8211; all the pertinent info in one place!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Understanding the Public Key Infrastructure behind SSL secured websites &#124; &#160;InfoSec Resources</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-1828</link>
		<dc:creator>Understanding the Public Key Infrastructure behind SSL secured websites &#124; &#160;InfoSec Resources</dc:creator>
		<pubDate>Thu, 04 Aug 2011 20:02:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-1828</guid>
		<description>[...] 1) http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/ [...]</description>
		<content:encoded><![CDATA[<p>[...] 1) <a href="http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/" rel="nofollow">http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Use of publicly trusted certificates in enterprise networks &#171; Securism Blog</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-790</link>
		<dc:creator>Use of publicly trusted certificates in enterprise networks &#171; Securism Blog</dc:creator>
		<pubDate>Tue, 26 Apr 2011 20:49:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-790</guid>
		<description>[...] a little background. Previous visitors that have read my post on certificate validation will recall that a standard PKI hierarchy has a single CA (root CA) that [...]</description>
		<content:encoded><![CDATA[<p>[...] a little background. Previous visitors that have read my post on certificate validation will recall that a standard PKI hierarchy has a single CA (root CA) that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Who can you trust? PKI under attack &#171; Securism Blog</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-690</link>
		<dc:creator>Who can you trust? PKI under attack &#171; Securism Blog</dc:creator>
		<pubDate>Thu, 14 Apr 2011 02:55:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-690</guid>
		<description>[...] seriously question the value of CAs and look at alternative trust models. As explained in my other post, the current CA trust model requires users to trust their browser, operating system, and device [...]</description>
		<content:encoded><![CDATA[<p>[...] seriously question the value of CAs and look at alternative trust models. As explained in my other post, the current CA trust model requires users to trust their browser, operating system, and device [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Juric</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-625</link>
		<dc:creator>Joe Juric</dc:creator>
		<pubDate>Mon, 04 Apr 2011 13:47:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-625</guid>
		<description>I&#039;ve managed to find API which have a mathod that inspect digital signature versus its signer, both for Java and C# (http://www.bouncycastle.org/)

The problem with the Microsoft Verify() method is that its only suitable for basic chain verification, not digital signature (chain verification can be faked through manual certificate creation). 
Note that you can&#039;t see method implementation, so you can&#039;t know what degree of basic is implemented. 
If you want, you can implement your own chain verification overriding Validate method in your own class MyX509CertificateValidator :  X509CertificateValidator.

I&#039;ve also done verification in OpenSSL, and it worked.


Regards, Joe</description>
		<content:encoded><![CDATA[<p>I&#8217;ve managed to find API which have a mathod that inspect digital signature versus its signer, both for Java and C# (<a href="http://www.bouncycastle.org/" rel="nofollow">http://www.bouncycastle.org/</a>)</p>
<p>The problem with the Microsoft Verify() method is that its only suitable for basic chain verification, not digital signature (chain verification can be faked through manual certificate creation).<br />
Note that you can&#8217;t see method implementation, so you can&#8217;t know what degree of basic is implemented.<br />
If you want, you can implement your own chain verification overriding Validate method in your own class MyX509CertificateValidator :  X509CertificateValidator.</p>
<p>I&#8217;ve also done verification in OpenSSL, and it worked.</p>
<p>Regards, Joe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Walter Goulet</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-620</link>
		<dc:creator>Walter Goulet</dc:creator>
		<pubDate>Mon, 04 Apr 2011 02:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-620</guid>
		<description>@joe

I&#039;m not much of a programmer myself; when I do need to inspect and validate certificates I usually use openssl in scripts. I do know that certificate validation is usually a built in function in certificate handling APIs. For example, in the X509Certificate2 class you describe, the verify method (http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.verify.aspx) is intended to do just that.

The signatureValue field is well defined in RFC3280, so any API should be able to export that value for you. It&#039;s just a matter of finding an API that exposes the details you need. If it&#039;s an academic exercise and you just want to extract signatures directly, you could try the following openssl command line: 
openssl x509 -in cacert.pem -text -certopt ca_default,no_header,no_version,no_serial,no_validity,no_subject,no_issuer,no_signame,no_pubkey,no_extensions -noout

Hope this helps,
Walter</description>
		<content:encoded><![CDATA[<p>@joe</p>
<p>I&#8217;m not much of a programmer myself; when I do need to inspect and validate certificates I usually use openssl in scripts. I do know that certificate validation is usually a built in function in certificate handling APIs. For example, in the X509Certificate2 class you describe, the verify method (<a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.verify.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.verify.aspx</a>) is intended to do just that.</p>
<p>The signatureValue field is well defined in RFC3280, so any API should be able to export that value for you. It&#8217;s just a matter of finding an API that exposes the details you need. If it&#8217;s an academic exercise and you just want to extract signatures directly, you could try the following openssl command line:<br />
openssl x509 -in cacert.pem -text -certopt ca_default,no_header,no_version,no_serial,no_validity,no_subject,no_issuer,no_signame,no_pubkey,no_extensions -noout</p>
<p>Hope this helps,<br />
Walter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Juric</title>
		<link>http://blog.securism.com/2009/01/summarizing-pki-certificate-validation/comment-page-1/#comment-597</link>
		<dc:creator>Joe Juric</dc:creator>
		<pubDate>Sat, 02 Apr 2011 14:36:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.securism.com/?p=106#comment-597</guid>
		<description>Hi
First, thank you for your answer.
But, I still have a problem how to validate a certificate (programmatically).
In section eight, you described in detail how one will do so. I got that, but the thing is that I don&#039;t know how to get signatureValue from the certificate
(nor by inspecting certificate &quot;visually&quot; nor by programmatically digging properties, 
such as Subject, Issuer, Dates, Thumbprint etc., I&#039;m using C# .NET X509Certificate2 and other related libraries), so I can decrypt the digital signature (with public key of the issuer), and compare its content to a hash that I&#039;ve previously computed., ie validate certificate.

Thank you in advance,
Joe</description>
		<content:encoded><![CDATA[<p>Hi<br />
First, thank you for your answer.<br />
But, I still have a problem how to validate a certificate (programmatically).<br />
In section eight, you described in detail how one will do so. I got that, but the thing is that I don&#8217;t know how to get signatureValue from the certificate<br />
(nor by inspecting certificate &#8220;visually&#8221; nor by programmatically digging properties,<br />
such as Subject, Issuer, Dates, Thumbprint etc., I&#8217;m using C# .NET X509Certificate2 and other related libraries), so I can decrypt the digital signature (with public key of the issuer), and compare its content to a hash that I&#8217;ve previously computed., ie validate certificate.</p>
<p>Thank you in advance,<br />
Joe</p>
]]></content:encoded>
	</item>
</channel>
</rss>

