mirror of
https://github.com/kataras/iris.git
synced 2026-01-22 19:36:00 +00:00
add support for iris-specific form of generating connection IDs as requested at: https://github.com/kataras/neffos/issues/1#issuecomment-508689819
Former-commit-id: 0994b63373ebe2b5383a28f042aa2133061cbd18
This commit is contained in:
@@ -9,9 +9,13 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
// MustGenerateKey generates an ecdsa public and private key pair.
|
||||
// MustGenerateKey generates an ecdsa private and public key pair.
|
||||
// It panics if any error occurred.
|
||||
MustGenerateKey = sign.MustGenerateKey
|
||||
// ParsePrivateKey accepts a pem x509-encoded private key and decodes to *ecdsa.PrivateKey.
|
||||
ParsePrivateKey = sign.ParsePrivateKey
|
||||
// ParsePublicKey accepts a pem x509-encoded public key and decodes to *ecdsa.PrivateKey.
|
||||
ParsePublicKey = sign.ParsePublicKey
|
||||
|
||||
// MustGenerateAESKey generates an aes key.
|
||||
// It panics if any error occurred.
|
||||
@@ -79,9 +83,9 @@ func Decrypt(aesKey, additionalData []byte) Decryption {
|
||||
// Returns non-nil error if any error occurred.
|
||||
//
|
||||
// Usage:
|
||||
// data, _ := ioutil.ReadAll(r.Body)
|
||||
// data, _ := ioutil.ReadAll(ctx.Request().Body)
|
||||
// signedData, err := crypto.Marshal(testPrivateKey, data, nil)
|
||||
// w.Write(signedData)
|
||||
// ctx.Write(signedData)
|
||||
// Or if data should be encrypted:
|
||||
// signedEncryptedData, err := crypto.Marshal(testPrivateKey, data, crypto.Encrypt(aesKey, nil))
|
||||
func Marshal(privateKey *ecdsa.PrivateKey, data []byte, encrypt Encryption) ([]byte, error) {
|
||||
|
||||
@@ -53,11 +53,11 @@ func SignJSON(privateKey *ecdsa.PrivateKey, r io.Reader) (Ticket, error) {
|
||||
// VerifyJSON verifies the incoming JSON request,
|
||||
// by reading the "r" which should decodes to a `Ticket`.
|
||||
// The `Ticket` is verified against the given "publicKey", the `Ticket#Signature` and
|
||||
// `Ticket#Payload` data (original request's payload data which was signed by `SignPayload`).
|
||||
// `Ticket#Payload` data (original request's payload data which was signed by `SignJSON`).
|
||||
//
|
||||
// Returns true wether the verification succeed or not.
|
||||
// Returns true whether the verification succeed or not.
|
||||
// The "toPayloadPtr" should be a pointer to a value of the same payload structure the client signed on.
|
||||
// If and only if the verification succeed the payload value is filled from the `Ticket#Payload` raw data.
|
||||
// If and only if the verification succeed the payload value is filled from the `Ticket.Payload` raw data.
|
||||
//
|
||||
// Check for both output arguments in order to:
|
||||
// 1. verification (true/false and error) and
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"golang.org/x/crypto/sha3"
|
||||
)
|
||||
|
||||
// MustGenerateKey generates a public and private key pair.
|
||||
// MustGenerateKey generates a private and public key pair.
|
||||
// It panics if any error occurred.
|
||||
func MustGenerateKey() *ecdsa.PrivateKey {
|
||||
privateKey, err := GenerateKey()
|
||||
@@ -31,7 +31,7 @@ func MustGenerateKey() *ecdsa.PrivateKey {
|
||||
return privateKey
|
||||
}
|
||||
|
||||
// GenerateKey generates a public and private key pair.
|
||||
// GenerateKey generates a private and public key pair.
|
||||
func GenerateKey() (*ecdsa.PrivateKey, error) {
|
||||
return ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user