Showing posts with label Windows. Show all posts
Showing posts with label Windows. Show all posts

Saturday, July 18, 2015

RabbitMQ .NET client to connect to WSO2 MB with SSL.

Hi All,

WSO2 Message Broker 3.0.0 is a distributed message broker that provides reliable messaging both secured and unsecured.

This post will explain on how the RabbitMQ .NET client can be used to publish or subscribe to WSO2 Message Broker 3.0.0 securely.

Creating the Certificate

Go to "<MB_HOME>/repository/resources/security" folder and run the following command. This will create a "cert" file which is the certification file for SSL communication. "wso2carbon.jks" is the trust store file. So we are exporting the certificate from the trust store. The "keytool" command comes with the JDK distribution.

keytool -export -keystore wso2carbon.jks -storepass wso2carbon -file carbon.cert -alias localhost -keypass wso2carbon

The Code

You can use the same implementation as mentioned in [1][2]. Only difference is we have to set the following properties to the "ConnectionFactory" object.

........
........
// The connection factory to connect with the broker.
ConnectionFactory factory = new ConnectionFactory();

// AMQP URL to connect to the broker.
IProtocol protocol = Protocols.AMQP_0_9_1;
factory.VirtualHost = "/carbon";
factory.UserName = "admin";
factory.Password = "admin";
factory.HostName = "localhost";
// Port for SSL
factory.Port = 8672;
factory.Protocol = protocol;

// SSL configuration
factory.Ssl.Enabled = true;
factory.Ssl.CertPassphrase = "wso2carbon";
factory.Ssl.CertPath = @"C:\Users\wso2\Documents\wso2mb-3.0.0-ALPHA\repository\resources\security\carbon.cert";
factory.Ssl.ServerName = "localhost";
factory.Ssl.AcceptablePolicyErrors = System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors;
factory.Ssl.Version = System.Security.Authentication.SslProtocols.Tls;

using (IConnection conn = factory.CreateConnection())
{
    ............
    ............

Set the correct path for "factory.Ssl.CertPath" to the "cert" file we generated in the earlier step.

Thats all guys!. Click here to download the sample .NET project(VS2010).

References...

[1] - https://docs.wso2.com/display/MB300/Publishing+and+Receiving+Messages+from+a+Queue
[2] - https://docs.wso2.com/display/MB300/Publishing+and+Receiving+Messages+from+a+Topic
[3] - https://www.rabbitmq.com/ssl.html
[4] - http://pathberiya.blogspot.com/2010_08_01_archive.html

Wednesday, May 20, 2015

Unable to mount ExFat external HDD (' stderr: ERROR:._.com.apple.timemachine.donotpresent' has invalid checksum)

Hi All,

I have an external hard drive(Western Digital My Passport Ultra 1TB) which I keep all my movies, work stuff and etc. Initially I formatted the drive in ExFat format in Mac OS X platform so that I can use it in Windows and Mac. Also Ubuntu seems to have a fix to read ExFat file systems[1].

But recently when I connected this external hard drive to my Ubuntu machine, it gave me this error(something similar) saying that it cannot mount the disk: 
Error mounting /dev/sdb1 at /media/rbuse/My Passport: Command-linemount -t "exfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,io charset=utf8,namecase=0,e rrors=remount-ro,umask=0077" "/dev/sdb1" "/media/rbuse/My Passport"' exited with non-zero exit status 1: stdout:FUSE exfat 1.0.1

stderr: ERROR:._.com.apple.timemachine.donotpresent' has invalid checksum (0x6634 != 0x4044). '
I was stunned because all my work was in there, especially my VDIs. 

So I started my research and one solution was to plug it back in to my Mac OS X machine and use the "Disk Utility" tool to repair it(Use "Repair Disk" button) [2][3]. When I tried this, the following error came up.
Error: Disk Utility can’t repair this disk. Back up as many of your files as possible, reformat the disk, and restore your backed-up files.
I was like "Huh?!?!?" . I continued my research and found that if I attempt several times to "Repair Disk", it will work at sometime[4]. I tried like 20+ times, it didn't work.

So I googled more and found a command that should fix the broken external hard drive [5][6][7].
sudo fsck_exfat -d <device>
To find the correct value for <device>(eg : disk1s2) use the following command[8] to list down the device IDs.
diskutil list
At the end of the fsck_exfat command, I got the following error[9]. 
fsck_exfat: Could not update main boot region: Bad file descriptor
Sigh!.

As the last attempt to fix, I used the "chkdsk" command of Windows OS[10]. And IT WORKED!!. I ran the following command. It took sometime to complete the task. So be patient.
chkdsk /f <Volume_ID>
Here the Volume_ID refers "C:" or "D:" of the corrupted hard disk. eg : 
chkdsk /f D:

Hope this article helped!,

Thanks,
Hemika

[1] - http://askubuntu.com/questions/451364/how-to-enable-exfat-in-ubuntu-14-04
[2] - https://bbs.archlinux.org/viewtopic.php?pid=1481063#p1481063
[3] - http://osxdaily.com/2014/01/27/verify-disk-command-line-mac-os-x/
[4] - http://beshoy.girgis.us/2013/11/solved-error-disk-utility-cant-repair-disk-backup-many-files-possible/
[5] - https://discussions.apple.com/message/24958301#24958301
[6] - http://craigsmith.id.au/2014/07/06/repairing-a-corrupted-mac-osx-exfat-partition/
[7] - https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/fsck_exfat.8.html
[8] - https://discussions.apple.com/thread/4154638?start=30&tstart=0
[9] - https://discussions.apple.com/thread/4154638?start=45&tstart=0
[10] - https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/chkdsk.mspx?mfr=true

Sunday, March 17, 2013

Force Printer Cleaner

Hello People,

I believe all of you have been stuck on printers where you send files to the printer, But they do not actually print. And later pm you try to delete the file to be printed in the printer tray and they just keep on saying deleting.

Well here is an executable file that will remove the files in the printer tray. No more printer troubles. :D

Force Printer Cleaner

Thanks,
Hemika Kodikara

Tuesday, March 12, 2013

Dummy File Creator

Hello guys,

Herewith I have created a windows application to create empty files with a specific file size. This tool can be used for testing purposes of file upload control of web applications and etc.

Dummy File Creator

Thanks :)