An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 9.7% on proxy.golang.org

proxy.golang.org : github.com/jessecoretta/go-dcxl

Package dcxl implements draft-coretta-x660-ldap-08, an Internet Draft (ID) of which I am the author. The draft can be viewed here: https://datatracker.ietf.org/doc/html/draft-coretta-x660-ldap. A text copy of this draft is also included in the package directory. No past or present version of the draft-coretta-x660-ldap ID is meant to be used in any production environment and -- because it is not yet approved for an RFC track (and may never be) -- it should be considered purely experimental. That said, this specification could very well allow some nifty functionality that would be beneficial to any individual or institution that deals with ASN.1 object identifiers regularly, and requires a central (non-ORS) means of OID resolution / interrogation. This package exists to provide abstract access to such capabilities through the Go language. This package may include subdirectories, one containing a versioned reference implementation that corresponds to the precepts of the same document version. One will exist for each new release of the document if and when one is released. Previous versions will remain intact for backwards compatibility. The package contents in the top-most package directory represent the latest release. draft-coretta-x660-ldap describes a possible means for storing the OID spectrum (in whole or in part) within an X.500 directory. It is effectively an "LDAP alternative" to an ORS implementation, which would typically be DNS-based. To that end, the draft introduces myriad attribute types and a small handful of objectClass definitions, each facilitating the storage of information pertaining to certain abstract types defined within ITU-T X-Series X.660, et al. This package provides simplified types intended to store information either (a) derived from an upstream DSA (ostensibly through an LDAP Search Operation), or (b) composed with the intent to be written to an upstream DSA. To that end, this package is intended to be used with go-ldap in such cases. More information about go-ldap can be found here: https://pkg.go.dev/github.com/go-ldap/ldap. The go-ldap Entry type offers an Unmarshal method, which defines parsing rules around which types in this package were designed for ease-of-use. One can unmarshal an *ldap.Entry instance into, for example, an instance of SubArc. To accommodate ease-of-use on the opposite end, this package implements unmarshaling of such types into instances of map[string][]string, which can be fed to ldap.NewEntry. One may also wish to involve go-ldap's ldif package when dealing with bulk LDIF content instead of communicated content from a DSA over the network. More information about go-ldap's ldif package can be found here: https://pkg.go.dev/github.com/go-ldap/ldif. Neither the go-ldap/ldap nor go-ldap/ldif packages are actually imported by this package, as this is left to the user when devising client solutions optimized within the specifications of this package and the associated ID. The draft-coretta-x660-ldap-08 ID sets forth two (2) distinct directory models, each possibly appealing to different audiences in terms of usability and administrative costs. The models are described as Two Dimensional and Three Dimensional, per sections 3.2 and 3.3 of said document. These models define the nature of OID to DN and DN to OID conversion processes, which is supremely important when populating and/or navigating a directory according to desired specifications. This package implements two (2) methods to achieved the desired conversion: - OIDtoDN, which converts a dotNotation value into a complete LDAP Distinguished Name, and ... - DNtoOID, which converts an LDAP Distinguished Name into dotNotation This package offers a quick and easy manner for converting (bidirectionally) between go's native time.Time type and the string-based generalizedTime values favored by most X.500 directories: - TimeToGenTime (go time.Time -> gen. time string) - GenTimeToTime (gen. time string -> go time.Time) These functions exist because of go-ldap's limited support for unmarshaling struct field types, else native time.Time would be used in a more "hands-off" manner. Should go-ldap ever include support for time.Time struct fields during the *ldap.Entry unmarshaling process, this package should be updated to take advantage of that improvement, ostensibly rendering the above functions unnecessary. Please note that when GenTimeToTime is used to process a string value, either UTC (zulu) or UTC-offset (e.g.: -0600) are supported for input. However, output of time.time (through TimeToGenTime) will always favor UTC (zulu) time in the return value. The ID describes two (2) techniques for storing OID registrations along with registrant information: - In a "dedicated" manner, which involves dedicated x660Registrant entries being managed and referenced -- via their DN -- by the relevant (and separate) OID registration entries, and ... - In a "combined" manner, which involves storing x660Registrant-permitted attribute types within the OID registration entry directly This package supports either scenario, though dedicated entries are recommended in (a) large/thorough OID repositories (especially public-facing ones) and/or (b) when multiple instances of a single registrant type (e.g.: two currentAuthority entities) are assigned to a single registration. Use of "combined" entries in either scenario is likely impractical due to value ambiguities that may appear in any given registration, as well as the effort required for implementing certain remedial mechanics meant to mitigate such shortcomings. YMMV.

Registry - Source - Documentation - JSON - codemeta.json
purl: pkg:golang/github.com/jessecoretta/go-dcxl
License: MIT
Latest release: over 2 years ago
First release: over 2 years ago
Namespace: github.com/jessecoretta
Last synced: 21 days ago

    Loading...
    Readme
    Loading...