[Mono-bugs] [Bug 487520] New: Incorrect key usage encoding in Mono.Security.X509.Extensions.KeyUsageExtension
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Mar 20 19:55:13 EDT 2009
https://bugzilla.novell.com/show_bug.cgi?id=487520
Summary: Incorrect key usage encoding in
Mono.Security.X509.Extensions.KeyUsageExtension
Classification: Mono
Product: Mono: Runtime
Version: 2.2.x
Platform: 32bit
OS/Version: Windows Server 2003
Status: NEW
Severity: Normal
Priority: P5 - None
Component: misc
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: muncho at mail.ru
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Created an attachment (id=281034)
--> (https://bugzilla.novell.com/attachment.cgi?id=281034)
Bug demonstration
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.0.7)
Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729)
The KeyUsageExtension.Encode method incorrectly counts the number of unused
bits in the key usage value.
Instead of
byte unused = 16;
if (ku > 0) {
// count the unused bits
for (unused = 15; unused > 0; unused--) {
if ((ku & 0x8000) == 0x8000)
break;
ku <<= 1;
}
the code should be
byte unused = 0;
if (ku > 0) {
// count the unused bits
for (unused = 0; unused < 16; unused++)
{
if ((ku & 1) == 1)
break;
ku >>= 1;
}
That conforms to the result produced by the Microsoft implementation of .NET.
The effect of the error is incorrect key usage saved in the certificate.
Reproducible: Always
Steps to Reproduce:
1. Compile and run MonoBug.cs
2.
3.
Actual Results:
Key usage is reported to be
Digital Signature (80)
Expected Results:
Key usage should be
Digital Signature, Key Encipherment, Data Encipherment, Key Agreement,
Certificate Signing (bc)
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list