In Progress

Need a Java library for generating WSSE headers for API calls

Our API requires WSSE headers to communicate with the server. We presently have generators written in PHP, C# and JavaScript. All produce the same output. We now want a Java library that our customers could integrate into their projects.

What we want out of this project:

1- A code library that customers can integrate into their own projects

2- Unit tests to confirm the code is working as expected

3- Documentation explaining how the code works

The following information is needed to generate a WSSE header:

1- The name of the customer as it appears in the software;

2- A nonce, which is a random string generated by you. This string must be different with each request;

The current date & time in UTC-0. See [login to view URL] for more information;

3- Username – Your username;

4- API token – A unique token assigned to you by us.

The following PHP script demonstrates how to generate a WSSE header. This code can be easily tested using PhpFiddle ([login to view URL]).

=== PHP EXAMPLE ===

<?php

$orgName = "YOUR_ORGANZATION";

$username = "YOUR_USERNAME";

$token = "YOUR_TOKEN";

$key = md5($username);

$cryptAlgo = 'AES-256-CFB';

$iv = mb_substr(base64_decode($token), 0, 16, '8bit');

$secret = base64_encode($iv.openssl_encrypt($token, $cryptAlgo, $key, 0, $iv));

date_default_timezone_set('UTC');

$current_time = date('c');

$nonce = md5(rand(), true);

$base64_nonce = base64_encode($nonce);

$password_digest = base64_encode(sha1($nonce . $current_time . $secret, true));

$header = "UsernameToken Username=\"$username\",".

"PasswordDigest=\"$password_digest\",".

"Nonce=\"$base64_nonce\",".

"Created=\"$current_time\",".

"Organization=\"$orgName\"";

echo $header;

?>

=== PHP EXAMPLE : END ===

The following Javascript script demonstrates how to generate a WSSE header. This code can be easily tested using Postman ([login to view URL]).

=== JAVASCRIPT SAMPLE ===

var moment = require('moment');

var username = "YOUR_USERNAME",

orgName = "YOUR_ORGANZATION",

token = "YOUR_TOKEN",

key = [login to view URL](username).toString(),

iv = atob(token).substring(0, 16).toString([login to view URL]),

encrypted,

secret,

created,

nonce,

base64Nonce,

passwordDigest,

utf8iv = [login to view URL](iv),

utf8key = [login to view URL](key),

utf8token = [login to view URL](token);

encrypted = [login to view URL](utf8token, utf8key, {

iv: utf8iv,

mode: [login to view URL],

padding: [login to view URL]

});

secret = btoa(iv + encrypted);

created = moment().utc().format();

created = [login to view URL](0, [login to view URL] - 1) + '+00:00';

nonce = [login to view URL]() * 32767 + '0';

nonce = [login to view URL](nonce).toString();

var stringToSha1 = nonce + created + secret;

var sha1Temp = [login to view URL](stringToSha1, {

asBytes: true

});

base64Nonce = btoa(nonce);

passwordDigest = [login to view URL](sha1Temp);

header = `UsernameToken Username="${username}",PasswordDigest="${passwordDigest}", Nonce="${base64Nonce}", Created="${created}", Organization="${orgName}"`;

=== JAVASCRIPT SAMPLE : END ===

Skills: AJAX, Java

See more: how to implement ws security in soap request header, how to add header in soap request java, wsse binarysecuritytoken, soap headers java, request does not contain required security header soapui, adding header in soap request, create custom soap header java, how to add security header in soap request, we need an ionic or js library to access odoo api, need class library tropo api, website need java, need java resources job jobs, need java programmer finish project, convert java library dll, api calls sharepoint helpdesk template

About the Employer:
( 0 reviews ) Canada

Project ID: #17157457

Awarded to:

ilinchik

Hello! I have experience with WS security (several projects for the government) and many years with java. So I am happy to help.

$666 CAD in 10 days
(1 Review)
0.8

10 freelancers are bidding on average $626 for this job

$555 CAD in 10 days
(8 Reviews)
5.7
$555 CAD in 10 days
(32 Reviews)
6.2
indiasofttel

Hello Sir, I have huge experience in java development and i worked on consuming SOAP web service in which i generated the WSSE headers. I reviewed your job description and it's look ok to me. I will develop the java l More

$478 CAD in 10 days
(62 Reviews)
6.0
expertjavagiant

Hi, I am expert java developer with 8 years of experience of in developing Java/J2EE application. i am very good in Web services development and consuming 3rd party web services. I will develop this utility library w More

$301 CAD in 10 days
(29 Reviews)
5.7
deytps86

Hello, Yours WSSE seems to be an interesting conversion project from php/javascript to Java. Here is my little info on Java background ==> I am working in Java/J2EE technologies for last 16+ years with all latest More

$500 CAD in 2 days
(20 Reviews)
4.6
$2000 CAD in 5 days
(12 Reviews)
3.2
JavierV

software developer, java expert with experience dealing with cryptography, checksums and certificates. i can easily do your api

$250 CAD in 2 days
(6 Reviews)
3.4
xiongjiezhao222

Hi, My name is Xiong Jie Zhao, live in China. I am a newbie in this freelancer, but I have a lot of experiences with Java EE and Java web development using spring framework. I have some skills with API development. More

$400 CAD in 2 days
(3 Reviews)
2.3
aetsvetkov

I have 10+ years experience in Java. I have experience with http so creating library for you will be easy. If you provide current implementation in c# I can port it to Java this approach have advantage that I can More

$555 CAD in 10 days
(1 Review)
0.7