Find Jobs
Hire Freelancers

Need a Java library for generating WSSE headers for API calls

$250-750 CAD

Completed
Posted almost 6 years ago

$250-750 CAD

Paid on delivery
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 ===
Project ID: 17157457

About the project

9 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
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
5.0 (5 reviews)
4.1
4.1
9 freelancers are bidding on average $668 CAD for this job
User Avatar
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 which will contains these things which you mentioned. 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 Please review my profile and feel free to message me. Thanks, Sandeep
$301 CAD in 10 days
4.7 (93 reviews)
6.9
6.9
User Avatar
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 library which will generate the WSSE headers as you specified. I have few question can discuss in chat. After that i am ready to start it. Thanks,
$478 CAD in 10 days
4.3 (91 reviews)
6.5
6.5
User Avatar
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. Let's discuss more detail. Regards.
$400 CAD in 2 days
4.9 (12 reviews)
4.3
4.3
User Avatar
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 reuse your tests scenarios.
$555 CAD in 10 days
5.0 (7 reviews)
3.1
3.1

About the client

Flag of CANADA
Chateauguay, Canada
4.9
3
Payment method verified
Member since Jun 12, 2018

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.