Node HmacSHA1 Seed2019 Community Moderator ElectionSOAP, WCF, and message signaturesUsing xml-crypto with PSHA1How to append to a file in Node?Remove all child elements of a DOM node in JavaScriptHmacSHA1 generates different signatures on different systems using same secretNode.js verify function does not verify signature when openssl command line doesHow to uninstall npm modules in node js?node how to create a directory if doesn't exist?Golang signing with ecdsa and Private Key from a SHA224 digestRSA Signature having public key as text not verified in javaNode 6 upgrade caused SignatureDoesNotMatch errors from aws-sdk because of crypto.DEFAULT_ENCODING='binary'How to convert this signature method from crypto (node) to crypto-js (browser)?

Are small insurances worth it?

Cycles on the torus

I reported the illegal activity of my boss to his boss. My boss found out. Now I am being punished. What should I do?

Is there a math expression equivalent to the conditional ternary operator?

Did Amazon pay $0 in taxes last year?

Do Cubics always have one real root?

Having the player face themselves after the mid-game

How to install round brake pads

How to educate team mate to take screenshots for bugs with out unwanted stuff

Are these two graphs isomorphic? Why/Why not?

Either of .... (Plural/Singular)

Do Paladin Auras of Differing Oaths Stack?

What will happen if my luggage gets delayed?

Origin of the word “pushka”

Help! My Character is too much for her story!

Computation logic of Partway in TikZ

Why do phishing e-mails use faked e-mail addresses instead of the real one?

Is it appropriate to ask a former professor to order a book for me through an inter-library loan?

Idiom for feeling after taking risk and someone else being rewarded

If nine coins are tossed, what is the probability that the number of heads is even?

What do you call someone who likes to pick fights?

What would be the most expensive material to an intergalactic society?

Is it possible to clone a polymorphic object without manually adding overridden clone method into each derived class in C++?

What can I do if someone tampers with my SSH public key?



Node HmacSHA1 Seed



2019 Community Moderator ElectionSOAP, WCF, and message signaturesUsing xml-crypto with PSHA1How to append to a file in Node?Remove all child elements of a DOM node in JavaScriptHmacSHA1 generates different signatures on different systems using same secretNode.js verify function does not verify signature when openssl command line doesHow to uninstall npm modules in node js?node how to create a directory if doesn't exist?Golang signing with ecdsa and Private Key from a SHA224 digestRSA Signature having public key as text not verified in javaNode 6 upgrade caused SignatureDoesNotMatch errors from aws-sdk because of crypto.DEFAULT_ENCODING='binary'How to convert this signature method from crypto (node) to crypto-js (browser)?










0















I'm trying to send a SOAP request via Node, talking to a service which is secured with WSS.



I need to sign the XML response with a SignedInfo element which requires me combining a Nonce Binary secret I generated, with a Nonce binary secret returned from the initial token request - PSHA1 format.



I've been able to validate this using Java, by utilising the following class (Where the secret is my client nonce and the seed is the server nonce):



https://github.com/apache/wss4j/blob/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/P_SHA1.java#L57



With the following Java code:



Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec key = new SecretKeySpec(getSharedKey(), "HmacSHA1");
mac.init(key);

String bytesToSign = "<XML_TO_SIGN_GOES_HERE>";

String signature = Base64.encodeBytes(mac.doFinal(bytesToSign.getBytes()));


I need to do this in a Node project though, I've looked at the Crypto API and numerous plugins but I'm unable to generate the same signature.



How do I specify a seed for a HmacSHA1 using node?










share|improve this question






















  • Could you provide a simple XML example, with the expected result?

    – Pierre
    Mar 7 at 4:07















0















I'm trying to send a SOAP request via Node, talking to a service which is secured with WSS.



I need to sign the XML response with a SignedInfo element which requires me combining a Nonce Binary secret I generated, with a Nonce binary secret returned from the initial token request - PSHA1 format.



I've been able to validate this using Java, by utilising the following class (Where the secret is my client nonce and the seed is the server nonce):



https://github.com/apache/wss4j/blob/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/P_SHA1.java#L57



With the following Java code:



Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec key = new SecretKeySpec(getSharedKey(), "HmacSHA1");
mac.init(key);

String bytesToSign = "<XML_TO_SIGN_GOES_HERE>";

String signature = Base64.encodeBytes(mac.doFinal(bytesToSign.getBytes()));


I need to do this in a Node project though, I've looked at the Crypto API and numerous plugins but I'm unable to generate the same signature.



How do I specify a seed for a HmacSHA1 using node?










share|improve this question






















  • Could you provide a simple XML example, with the expected result?

    – Pierre
    Mar 7 at 4:07













0












0








0








I'm trying to send a SOAP request via Node, talking to a service which is secured with WSS.



I need to sign the XML response with a SignedInfo element which requires me combining a Nonce Binary secret I generated, with a Nonce binary secret returned from the initial token request - PSHA1 format.



I've been able to validate this using Java, by utilising the following class (Where the secret is my client nonce and the seed is the server nonce):



https://github.com/apache/wss4j/blob/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/P_SHA1.java#L57



With the following Java code:



Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec key = new SecretKeySpec(getSharedKey(), "HmacSHA1");
mac.init(key);

String bytesToSign = "<XML_TO_SIGN_GOES_HERE>";

String signature = Base64.encodeBytes(mac.doFinal(bytesToSign.getBytes()));


I need to do this in a Node project though, I've looked at the Crypto API and numerous plugins but I'm unable to generate the same signature.



How do I specify a seed for a HmacSHA1 using node?










share|improve this question














I'm trying to send a SOAP request via Node, talking to a service which is secured with WSS.



I need to sign the XML response with a SignedInfo element which requires me combining a Nonce Binary secret I generated, with a Nonce binary secret returned from the initial token request - PSHA1 format.



I've been able to validate this using Java, by utilising the following class (Where the secret is my client nonce and the seed is the server nonce):



https://github.com/apache/wss4j/blob/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/P_SHA1.java#L57



With the following Java code:



Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec key = new SecretKeySpec(getSharedKey(), "HmacSHA1");
mac.init(key);

String bytesToSign = "<XML_TO_SIGN_GOES_HERE>";

String signature = Base64.encodeBytes(mac.doFinal(bytesToSign.getBytes()));


I need to do this in a Node project though, I've looked at the Crypto API and numerous plugins but I'm unable to generate the same signature.



How do I specify a seed for a HmacSHA1 using node?







javascript node.js cryptography hmacsha1






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 6 at 23:11









Anton RandAnton Rand

157117




157117












  • Could you provide a simple XML example, with the expected result?

    – Pierre
    Mar 7 at 4:07

















  • Could you provide a simple XML example, with the expected result?

    – Pierre
    Mar 7 at 4:07
















Could you provide a simple XML example, with the expected result?

– Pierre
Mar 7 at 4:07





Could you provide a simple XML example, with the expected result?

– Pierre
Mar 7 at 4:07












1 Answer
1






active

oldest

votes


















0














I managed to get there in the end, there's an NPM module called psha1 (https://www.npmjs.com/package/psha1).



Using that library I created the following a generateSignature module which looks as follows:



const crypto = require('crypto');
const psha1 = require('psha1');

export const generateSignatureValue = (
clientSecret,
serverSecret,
messageToSign,
) =>

const secretKey =
psha1(clientSecret, serverSecret, 256);

const hash =
crypto
.createHmac('sha1', Buffer.from(secretKey, 'base64'))
.update(messageToSign)
.digest('binary');

return Buffer
.from(hash, 'binary')
.toString('base64');
;

export default generateSignatureValue;


This gives me the desired output :)






share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55033643%2fnode-hmacsha1-seed%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I managed to get there in the end, there's an NPM module called psha1 (https://www.npmjs.com/package/psha1).



    Using that library I created the following a generateSignature module which looks as follows:



    const crypto = require('crypto');
    const psha1 = require('psha1');

    export const generateSignatureValue = (
    clientSecret,
    serverSecret,
    messageToSign,
    ) =>

    const secretKey =
    psha1(clientSecret, serverSecret, 256);

    const hash =
    crypto
    .createHmac('sha1', Buffer.from(secretKey, 'base64'))
    .update(messageToSign)
    .digest('binary');

    return Buffer
    .from(hash, 'binary')
    .toString('base64');
    ;

    export default generateSignatureValue;


    This gives me the desired output :)






    share|improve this answer



























      0














      I managed to get there in the end, there's an NPM module called psha1 (https://www.npmjs.com/package/psha1).



      Using that library I created the following a generateSignature module which looks as follows:



      const crypto = require('crypto');
      const psha1 = require('psha1');

      export const generateSignatureValue = (
      clientSecret,
      serverSecret,
      messageToSign,
      ) =>

      const secretKey =
      psha1(clientSecret, serverSecret, 256);

      const hash =
      crypto
      .createHmac('sha1', Buffer.from(secretKey, 'base64'))
      .update(messageToSign)
      .digest('binary');

      return Buffer
      .from(hash, 'binary')
      .toString('base64');
      ;

      export default generateSignatureValue;


      This gives me the desired output :)






      share|improve this answer

























        0












        0








        0







        I managed to get there in the end, there's an NPM module called psha1 (https://www.npmjs.com/package/psha1).



        Using that library I created the following a generateSignature module which looks as follows:



        const crypto = require('crypto');
        const psha1 = require('psha1');

        export const generateSignatureValue = (
        clientSecret,
        serverSecret,
        messageToSign,
        ) =>

        const secretKey =
        psha1(clientSecret, serverSecret, 256);

        const hash =
        crypto
        .createHmac('sha1', Buffer.from(secretKey, 'base64'))
        .update(messageToSign)
        .digest('binary');

        return Buffer
        .from(hash, 'binary')
        .toString('base64');
        ;

        export default generateSignatureValue;


        This gives me the desired output :)






        share|improve this answer













        I managed to get there in the end, there's an NPM module called psha1 (https://www.npmjs.com/package/psha1).



        Using that library I created the following a generateSignature module which looks as follows:



        const crypto = require('crypto');
        const psha1 = require('psha1');

        export const generateSignatureValue = (
        clientSecret,
        serverSecret,
        messageToSign,
        ) =>

        const secretKey =
        psha1(clientSecret, serverSecret, 256);

        const hash =
        crypto
        .createHmac('sha1', Buffer.from(secretKey, 'base64'))
        .update(messageToSign)
        .digest('binary');

        return Buffer
        .from(hash, 'binary')
        .toString('base64');
        ;

        export default generateSignatureValue;


        This gives me the desired output :)







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 days ago









        Anton RandAnton Rand

        157117




        157117





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid …


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55033643%2fnode-hmacsha1-seed%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Thal And Out Agency railway station See also References External links Navigation menuOfficial Web Site of Pakistan RailwaysArchivedOfficial Web Site of Pakistan Railwayseeexpanding ite

            Posting a File and Associated Data to a RESTful WebService preferably as JSON2019 Community Moderator ElectionREST URI convention - Singular or plural name of resource while creating itUploading both data and files in one form using Ajax?How do I upload a file with metadata using a REST web service?REST API - file (ie images) processing - best practicesSpring: JSON data and file in the same requestREST API Put large dataPosting a file and JSON data to Spring rest serviceRESTful Web Service Upload/Download Large Data With JSONREST API Design sending JSON data and a file to the api in same requestPost JSONArray to REST servicePUT vs. POST in RESTParsing values from a JSON file?JavaScript/jQuery to download file via POST with JSON dataHow do I upload a file with metadata using a REST web service?How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?Separate REST JSON API server and client?what's the correct way to send a file from REST web service to client?How do I write JSON data to a file?What is “406-Not Acceptable Response” in HTTP?REST API - file (ie images) processing - best practices

            How can I change the color of pagination dots of UIPageControl?How to change UIPageControl dotsIs there a way to change page indicator dots colorCustomize dot with image of UIPageControl at index 0 of UIPageControlNo visible @interface for 'NSObject<PageControlDelegate>' declares the selector 'pageControlPageDidChange:'How to change the color of pagination dots in UIPageControl with a different color per pagepagecontrol indicator custom image instead of DefaultChanging the colour of UIPageControl dots in MonoTouchpagecontrol selectable page visibility color?Alternative way to load ViewControllers on a UIPageControlHow to set only layer.border-color for UIpage control dots in swiftHow can I develop for iPhone using a Windows development machine?How to change the name of an iOS app?UITableView - change section header coloruipagecontrol indicator(dot)issueCustom UIPageControl dots color not changingchange the interspace between UIPageControl dotsHow to change Status Bar text color in iOSHow can I change image tintColor in iOS and WatchKitUIPageControl dots with larger space in between each dotsHow to change the color of pagination dots in UIPageControl with a different color per page