Find Jobs
Hire Freelancers

Need a Java library for generating WSSE headers for API calls

$250-750 CAD

Ολοκληρώθηκε
Αναρτήθηκε περίπου 6 χρόνια πριν

$250-750 CAD

Πληρωμή κατά την παράδοση
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 ===
Ταυτότητα εργασίας: 17157457

Σχετικά με την εργασία

9 προτάσεις
Απομακρυσμένη Εργασία
Ενεργός/ή 6 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν
Βραβεύτηκε στον/στην:
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 σε 10 ημέρες
5,0 (5 αξιολογήσεις)
4,1
4,1
9 freelancers δίνουν μια μέση προσφορά $668 CAD για αυτή τη δουλειά
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 σε 10 ημέρες
4,7 (93 αξιολογήσεις)
6,9
6,9
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 σε 10 ημέρες
4,3 (91 αξιολογήσεις)
6,5
6,5
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 σε 2 ημέρες
4,9 (12 αξιολογήσεις)
4,3
4,3
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 σε 10 ημέρες
5,0 (7 αξιολογήσεις)
3,1
3,1

Σχετικά με τον πελάτη

Σημαία της CANADA
Chateauguay, Canada
4,9
3
Επαληθευμένη μέθοδος πληρωμής
Μέλος από Ιουν 12, 2018

Επαλήθευση Πελάτη

Άλλες δουλειές από αυτόν τον πελάτη

Need a Python library for generating WSSE headers for API calls
$250-750 CAD
Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.