Documentation
¶
Index ¶
- Variables
- func Contains(vs []string, t string) bool
- func Filter(vs []string, f func(string) bool) []string
- func GetTxHash(txBytes []byte) string
- func IndexOf(array []string, searchElement string, fromIndex int) int
- func IsUnique(list []string) bool
- func IsValidDID(did string, method string, allowedNamespaces []string) bool
- func IsValidDIDUrl(didUrl string, method string, allowedNamespaces []string) bool
- func JoinDID(method, namespace, id string) string
- func JoinDIDUrl(did string, path string, query string, fragment string) string
- func MsgTypeURL(msg proto.Message) string
- func MustSplitDID(did string) (method string, namespace string, id string)
- func MustSplitDIDUrl(didUrl string) (did string, path string, query string, fragment string)
- func ReplaceInSlice(list []string, old, new string)
- func Subtract(minuend []string, subtrahend []string) []string
- func ToInterfaces(list []string) []interface{}
- func TrySplitDID(did string) (method string, namespace string, id string, err error)
- func TrySplitDIDUrl(didUrl string) (did string, path string, query string, fragment string, err error)
- func Unique(array []string) []string
- func UniqueSorted(ls []string) []string
- func ValidateBase58(data string) error
- func ValidateDID(did string, method string, allowedNamespaces []string) error
- func ValidateDIDUrl(didUrl string, method string, allowedNamespaces []string) error
- func ValidateEd25519PubKey(keyBytes []byte) error
- func ValidateFragment(fragment string) error
- func ValidateJWK(jwk_string string) error
- func ValidateMultibase(data string) error
- func ValidateMultibaseEncoding(data string, expectedEncoding multibase.Encoding) error
- func ValidatePath(path string) error
- func ValidateQuery(query string) error
- func ValidateURI(uri string) error
- func ValidateUniqueId(uniqueId string) error
- func VerifyECDSASignature(pubKey ecdsa.PublicKey, message []byte, signature []byte) error
- func VerifyED25519Signature(pubKey ed25519.PublicKey, message []byte, signature []byte) error
- func VerifyRSASignature(pubKey rsa.PublicKey, message []byte, signature []byte) error
Constants ¶
This section is empty.
Variables ¶
var DIDFragmentRegexp, _ = regexp.Compile(`^([/a-zA-Z0-9\-\.\_\~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]*|(%[0-9A-Fa-f]{2})*)*$`)
var DIDPathAbemptyRegexp, _ = regexp.Compile(`^([/a-zA-Z0-9\-\.\_\~\!\$\&\'\(\)\*\+\,\;\=\:\@]*|(%[0-9A-Fa-f]{2})*)*$`)
var DIDQueryRegexp, _ = regexp.Compile(`^([/a-zA-Z0-9\-\.\_\~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]*|(%[0-9A-Fa-f]{2})*)*$`)
var DidNamespaceRegexp, _ = regexp.Compile(`^[a-zA-Z0-9]*$`)
var SplitDIDRegexp, _ = regexp.Compile(`^did:([^:]+?)(:([^:]+?))?:([^:]+)$`)
var SplitDIDURLRegexp, _ = regexp.Compile(`([^/?#]*)?([^?#]*)(\?([^#]*))?(#([^#]+$))?$`)
That for groups: Example: did:cheqd:testnet:fafdsffq11213343/path-to-s/ome-external-resource?query#key1??? 1 - [^/?#]* - all the symbols except / and ? and # . This is the DID part (did:cheqd:testnet:fafdsffq11213343) 2 - [^?#]* - all the symbols except ? and #. it means te section started from /, path-abempty (/path-to-s/ome-external-resource) 3 - \?([^#]*) - group for `query` part but with ? symbol (?query) 4 - [^#]* - group inside query string, match only exact query (query) 5 - #([^#]+[\$]?) - group for fragment, starts with #, includes # (#key1???) 6 - [^#]+[\$]? - fragment only (key1???) Number of queries is not limited.
var ValidURIRegexp, _ = regexp.Compile(`^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?`)
Goes from RFC: https://www.rfc-editor.org/rfc/rfc3986#appendix-B
Functions ¶
func IsValidDIDUrl ¶
func MsgTypeURL ¶
MsgTypeURL returns the TypeURL of a `proto.Message`.
func MustSplitDIDUrl ¶
func ReplaceInSlice ¶
func ToInterfaces ¶
func ToInterfaces(list []string) []interface{}
func TrySplitDID ¶
TrySplitDID Validates generic format of DID. It doesn't validate method, name and id content. Call ValidateDID for further validation.
func TrySplitDIDUrl ¶
func TrySplitDIDUrl(didUrl string) (did string, path string, query string, fragment string, err error)
TrySplitDIDUrl Validates generic format of DIDUrl. It doesn't validate path, query and fragment content. Call ValidateDIDUrl for further validation.
func UniqueSorted ¶
func ValidateBase58 ¶
func ValidateDID ¶
ValidateDID checks method and allowed namespaces only when the corresponding parameters are specified.
func ValidateDIDUrl ¶
ValidateDIDUrl checks method and allowed namespaces only when the corresponding parameters are specified.
func ValidateEd25519PubKey ¶
func ValidateFragment ¶
func ValidateJWK ¶
func ValidateMultibase ¶
func ValidatePath ¶
func ValidateQuery ¶
func ValidateURI ¶
func ValidateUniqueId ¶
func VerifyECDSASignature ¶
VerifyECDSASignature uses ASN1 to decode r and s, SHA265 to calculate message digest
func VerifyED25519Signature ¶
func VerifyRSASignature ¶
VerifyRSASignature uses PSS padding and SHA256 digest A good explanation of different paddings: https://security.stackexchange.com/questions/183179/what-is-rsa-oaep-rsa-pss-in-simple-terms
Types ¶
This section is empty.