Sample code for 30+ languages & platforms
Go

Load RSA Public Key from Hex Modulus and Exponent

See more RSA Examples

Load an RSA public key from a hex modulus and exponent.

Chilkat Go Downloads

Go
    success := false

    // Load a 128-byte (1024-bit) modulus + exponent into a Chilkat public key object..
    modulus := "BF5F4AF9A018B5F324A0C10448C0D3248D9BE78967FDC551A27876AC5789ADCBA8245D3D942AE3799563D895DA801E765D225A54FA15DAB2C4731DD817DCF94A9AD62197074C2349442093A206234BF3747F0E88AA6F538355684CC1FB26FCE029C9050A1DAF9F507C2BABF6EFC9FB16320C8036721BE0279FBB76122C41E429"

    exponent := "00000003"

    // We'll need to re-encode from hex to base64..
    bdModulus := chilkat.NewBinData()
    bdModulus.AppendEncoded(modulus,"hex")
    bdExponent := chilkat.NewBinData()
    bdExponent.AppendEncoded(exponent,"hex")

    xml := chilkat.NewXml()
    xml.SetTag("RsaKeyValue")
    xml.NewChild2("Modulus",*bdModulus.GetEncoded("base64"))
    xml.NewChild2("Exponent",*bdExponent.GetEncoded("base64"))

    // Now load into the pubkey object..
    pubkey := chilkat.NewPublicKey()
    success = pubkey.LoadFromString(*xml.GetXml())
    if success == false {
        fmt.Println(pubkey.LastErrorText())
        bdModulus.DisposeBinData()
        bdExponent.DisposeBinData()
        xml.DisposeXml()
        pubkey.DisposePublicKey()
        return
    }

    fmt.Println("Success.")

    bdModulus.DisposeBinData()
    bdExponent.DisposeBinData()
    xml.DisposeXml()
    pubkey.DisposePublicKey()