# Status of OpenSSL

**URL:** <https://www.ruby-forum.com/t/status-of-openssl/166472>\
**Category:** IronRuby\
**Created:** [April 25, 2009, 7:46pm UTC](https://www.ruby-forum.com/t/status-of-openssl/166472 "2009-04-25T19:46:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jirapong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/90ced4/32.png) [@jirapong](https://www.ruby-forum.com/u/jirapong)\
**Post date:** [April 25, 2009, 7:46pm UTC](https://www.ruby-forum.com/t/status-of-openssl/166472/1 "2009-04-25T19:46:57Z")

</div>

I am working on OpenSSL implementation for IronRuby. base on ruby  
spec, the results looked like this.

4 files, 8 examples, 2 expectations, 2 failures, 6 errors

My first implementation is  
[http://github.com/Jirapong/ironruby/commit/975853418ba31ba51354db2ba79f3786270a3941](http://github.com/Jirapong/ironruby/commit/975853418ba31ba51354db2ba79f3786270a3941)  
After that, results:

4 files, 8 examples, 770 expectations, 0 failures, 2 errors

There are more methods and specs require in order to make rubygems and  
rails work.

e.g. From rubygems unit tests

4: uninitialized constant OpenSSL::X509  
2: uninitialized constant OpenSSL::PKey  
2: SSL is not installed on this system

I will keep working on the implementation.

Thanks,  
-Jirapong

---

<div class="post-metadata">

**Author:** ![jirapong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/90ced4/32.png) [@jirapong](https://www.ruby-forum.com/u/jirapong)\
**Post date:** [April 25, 2009, 8:59pm UTC](https://www.ruby-forum.com/t/status-of-openssl/166472/2 "2009-04-25T20:59:31Z")

</div>

Instead of  
var result = new StringBuilder(length);  
byte[] data = new byte[length];

var generator = new Crypto.RNGCryptoServiceProvider();

generator.GetBytes(data);  
for (int i = 0; i \< length; i++) {  
result.Append(Convert.ToChar(data[i]));  
}  
return MutableString.Create(result.ToString());

you should create binary mutable string directly from the bytes:

byte[] data = new byte[length];  
var generator = new Crypto.RNGCryptoServiceProvider();  
generator.GetBytes(data);

return MutableString.CreateBinary(data);

Tomas

From: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of  
removed\_email\_address@domain.invalid  
Sent: Saturday, April 25, 2009 10:35 AM  
To: removed\_email\_address@domain.invalid  
Subject: [Ironruby-core] Status of OpenSSL

I am working on OpenSSL implementation for IronRuby. base on ruby spec,  
the results looked like this.

4 files, 8 examples, 2 expectations, 2 failures, 6 errors

My first implementation is  
[http://github.com/Jirapong/ironruby/commit/975853418ba31ba51354db2ba79f3786270a3941](http://github.com/Jirapong/ironruby/commit/975853418ba31ba51354db2ba79f3786270a3941)  
After that, results:

4 files, 8 examples, 770 expectations, 0 failures, 2 errors

There are more methods and specs require in order to make rubygems and  
rails work.

e.g. From rubygems unit tests

4: uninitialized constant OpenSSL::X509  
2: uninitialized constant OpenSSL::PKey  
2: SSL is not installed on this system

I will keep working on the implementation.

Thanks,  
-Jirapong

---

<div class="post-metadata">

**Author:** ![jirapong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/90ced4/32.png) [@jirapong](https://www.ruby-forum.com/u/jirapong)\
**Post date:** [April 26, 2009, 6:25am UTC](https://www.ruby-forum.com/t/status-of-openssl/166472/3 "2009-04-26T06:25:03Z")

</div>

Hi Tomas,  
That’s work! please find change at cf5883e

Thank you,  
-Jirapong
