31 lines
958 B
Go
31 lines
958 B
Go
package tls
|
|
|
|
// extensionPrefix returns the OID prefix for data-mesher x509 extensions (Protocol Labs PEN).
|
|
func extensionPrefix() []int { return []int{1, 3, 6, 1, 4, 1, 53594} }
|
|
|
|
// libp2pKeyExtensionID returns the OID for the libp2p signed key extension (1.3.6.1.4.1.53594.1.1).
|
|
func libp2pKeyExtensionID() []int { return getPrefixedExtensionID([]int{1, 1}) }
|
|
|
|
// dmCertExtensionID returns the OID for the data-mesher CA-signed certificate extension (1.3.6.1.4.1.53594.1.2).
|
|
func dmCertExtensionID() []int { return getPrefixedExtensionID([]int{1, 2}) }
|
|
|
|
// getPrefixedExtensionID returns an Object Identifier that can be used in x509 Certificates.
|
|
func getPrefixedExtensionID(suffix []int) []int {
|
|
return append(extensionPrefix(), suffix...)
|
|
}
|
|
|
|
// extensionIDEqual compares two extension IDs.
|
|
func extensionIDEqual(a, b []int) bool {
|
|
if len(a) != len(b) {
|
|
return false
|
|
}
|
|
|
|
for i := range a {
|
|
if a[i] != b[i] {
|
|
return false
|
|
}
|
|
}
|
|
|
|
return true
|
|
}
|