Documentation ¶
Index ¶
Constants ¶
View Source
const ( LICENSE_REQUEST = 0x01 PLATFORM_CHALLENGE = 0x02 NEW_LICENSE = 0x03 UPGRADE_LICENSE = 0x04 LICENSE_INFO = 0x12 NEW_LICENSE_REQUEST = 0x13 PLATFORM_CHALLENGE_RESPONSE = 0x15 ERROR_ALERT = 0xFF )
View Source
const ( ERR_INVALID_SERVER_CERTIFICATE = 0x00000001 ERR_NO_LICENSE = 0x00000002 ERR_INVALID_SCOPE = 0x00000004 ERR_NO_LICENSE_SERVER = 0x00000006 STATUS_VALID_CLIENT = 0x00000007 ERR_INVALID_CLIENT = 0x00000008 ERR_INVALID_PRODUCTID = 0x0000000B ERR_INVALID_MESSAGE_LEN = 0x0000000C ERR_INVALID_MAC = 0x00000003 )
error code
View Source
const ( ST_TOTAL_ABORT = 0x00000001 ST_NO_TRANSITION = 0x00000002 ST_RESET_PHASE_TO_START = 0x00000003 ST_RESEND_LAST_MESSAGE = 0x00000004 )
state transition
View Source
const ( BB_ANY_BLOB = 0x0000 BB_DATA_BLOB = 0x0001 BB_RANDOM_BLOB = 0x0002 BB_CERTIFICATE_BLOB = 0x0003 BB_ERROR_BLOB = 0x0004 BB_ENCRYPTED_DATA_BLOB = 0x0009 BB_KEY_EXCHG_ALG_BLOB = 0x000D BB_SCOPE_BLOB = 0x000E BB_CLIENT_USER_NAME_BLOB = 0x000F BB_CLIENT_MACHINE_NAME_BLOB = 0x0010 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BinaryBlobType ¶
type BinaryBlobType uint16
""" @summary: Binary blob data type @see: http://msdn.microsoft.com/en-us/library/cc240481.aspx """
type ClientNewLicenseRequest ¶
type ClientNewLicenseRequest struct { PreferredKeyExchangeAlg uint32 `struc:"little"` PlatformId uint32 `struc:"little"` ClientRandom []byte `struc:"little"` EncryptedPreMasterSecret LicenseBinaryBlob `struc:"little"` ClientUserName LicenseBinaryBlob `struc:"little"` ClientMachineName LicenseBinaryBlob `struc:"little"` }
type ClientPLatformChallengeResponse ¶
type ClientPLatformChallengeResponse struct { EncryptedPlatformChallengeResponse LicenseBinaryBlob EncryptedHWID LicenseBinaryBlob MACData []byte //[16]byte }
""" @summary: client challenge response @see: http://msdn.microsoft.com/en-us/library/cc241922.aspx """
type ErrorMessage ¶
type LicenseBinaryBlob ¶
type LicenseBinaryBlob struct { WBlobType uint16 `struc:"little"` WBlobLen uint16 `struc:"little"` BlobData []byte `struc:"sizefrom=WBlobLen"` }
""" @summary: Blob use by license manager to exchange security data @see: http://msdn.microsoft.com/en-us/library/cc240481.aspx """
func NewLicenseBinaryBlob ¶
func NewLicenseBinaryBlob(WBlobType uint16) *LicenseBinaryBlob
type LicensePacket ¶
type LicensePacket struct { BMsgtype uint8 Flag uint8 WMsgSize uint16 LicensingMessage interface{} }
func ReadLicensePacket ¶
func ReadLicensePacket(r io.Reader) *LicensePacket
type ProductInformation ¶
type ProductInformation struct { DwVersion uint32 `struc:"little"` CbCompanyName uint32 `struc:"little"` //may contain "Microsoft Corporation" from server microsoft PbCompanyName []byte `struc:"sizefrom=CbCompanyName"` CbProductId uint32 `struc:"little"` //may contain "A02" from microsoft license server PbProductId []byte `struc:"sizefrom=CbProductId"` }
""" @summary: License server product information @see: http://msdn.microsoft.com/en-us/library/cc241915.aspx """
type ServerLicenseRequest ¶
type ServerLicenseRequest struct { ServerRandom []byte `struc:"[32]byte"` ProductInfo ProductInformation `struc:"little"` KeyExchangeList LicenseBinaryBlob `struc:"little"` ServerCertificate LicenseBinaryBlob `struc:"little"` }
@summary: Send by server to signal license request
server -> client
type ServerPlatformChallenge ¶
type ServerPlatformChallenge struct { ConnectFlags uint32 EncryptedPlatformChallenge LicenseBinaryBlob MACData [16]byte }
@summary: challenge send from server to client @see: http://msdn.microsoft.com/en-us/library/cc241921.aspx
Click to show internal directories.
Click to hide internal directories.