iiiscertobj

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IIISCertObj interface identifier bd0c73bc-805b-4043-9c30-9a28d64dd7d2
	IISCertObjectIID = &dcom.IID{Data1: 0xbd0c73bc, Data2: 0x805b, Data3: 0x4043, Data4: []byte{0x9c, 0x30, 0x9a, 0x28, 0xd6, 0x4d, 0xd7, 0xd2}}
	// Syntax UUID
	IISCertObjectSyntaxUUID = &uuid.UUID{TimeLow: 0xbd0c73bc, TimeMid: 0x805b, TimeHiAndVersion: 0x4043, ClockSeqHiAndReserved: 0x9c, ClockSeqLow: 0x30, Node: [6]uint8{0x9a, 0x28, 0xd6, 0x4d, 0xd7, 0xd2}}
	// Syntax ID
	IISCertObjectSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: IISCertObjectSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/imsa"
)

Functions

func IISCertObjectServerHandle

func IISCertObjectServerHandle(ctx context.Context, o IISCertObjectServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewIISCertObjectServerHandle

func NewIISCertObjectServerHandle(o IISCertObjectServer) dcerpc.ServerHandle

func RegisterIISCertObjectServer

func RegisterIISCertObjectServer(conn dcerpc.Conn, o IISCertObjectServer, opts ...dcerpc.Option)

Types

type ExportToBlobRequest

type ExportToBlobRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// InstanceName: A string that specifies a web server instance.
	InstanceName *oaut.String `idl:"name:InstanceName" json:"instance_name"`
	// Password: A password used to encrypt the exported certificate data.
	Password *oaut.String `idl:"name:Password" json:"password"`
	// bPrivateKey: If set to VARIANT_TRUE, indicates that the private key of the certificate
	// is to be exported.
	PrivateKey int16 `idl:"name:bPrivateKey" json:"private_key"`
	// bCertChain:  If set to VARIANT_TRUE, indicates that the certificate chain of the
	// certificate referenced by InstanceName is to be exported.
	CertChain int16 `idl:"name:bCertChain" json:"cert_chain"`
	// pcbSize: If the method succeeds, returns the number of valid bytes returned in pBlobBinary.
	Length uint32 `idl:"name:pcbSize" json:"length"`
	// pBlobBinary: If the method succeeds, returns a pointer to a memory buffer containing
	// the exported certificate data. The buffer contains a null-terminated, base64-encoded
	// array of bytes. The client MUST free the pointer returned in pBlobBinary using the
	// appropriate memory allocator as specified for the DCOM implementation.<43>
	BlobBinary string `idl:"name:pBlobBinary;string" json:"blob_binary"`
}

ExportToBlobRequest structure represents the ExportToBlob operation request

func (*ExportToBlobRequest) MarshalNDR

func (o *ExportToBlobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ExportToBlobRequest) UnmarshalNDR

func (o *ExportToBlobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ExportToBlobResponse

type ExportToBlobResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pcbSize: If the method succeeds, returns the number of valid bytes returned in pBlobBinary.
	Length uint32 `idl:"name:pcbSize" json:"length"`
	// pBlobBinary: If the method succeeds, returns a pointer to a memory buffer containing
	// the exported certificate data. The buffer contains a null-terminated, base64-encoded
	// array of bytes. The client MUST free the pointer returned in pBlobBinary using the
	// appropriate memory allocator as specified for the DCOM implementation.<43>
	BlobBinary string `idl:"name:pBlobBinary;string" json:"blob_binary"`
	// Return: The ExportToBlob return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ExportToBlobResponse structure represents the ExportToBlob operation response

func (*ExportToBlobResponse) MarshalNDR

func (o *ExportToBlobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ExportToBlobResponse) UnmarshalNDR

func (o *ExportToBlobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetCertInfoRemoteRequest

type GetCertInfoRemoteRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

GetCertInfoRemoteRequest structure represents the GetCertInfoRemote operation request

func (*GetCertInfoRemoteRequest) MarshalNDR

func (o *GetCertInfoRemoteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetCertInfoRemoteRequest) UnmarshalNDR

func (o *GetCertInfoRemoteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetCertInfoRemoteResponse

type GetCertInfoRemoteResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// BinaryVariant:  A pointer to a VARIANT that will contain the certificate data. If
	// the method returns S_OK, BinaryVariant contains a single dimension SAFEARRAY of VT_UI1
	// elements as defined in [MS-OAUT]. The data contained in the array is a null-terminated
	// Unicode string containing attribute data from the certificate. The format and contents
	// are described further in the method details.
	BinaryVariant *oaut.Variant `idl:"name:BinaryVariant" json:"binary_variant"`
	// Return: The GetCertInfoRemote return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetCertInfoRemoteResponse structure represents the GetCertInfoRemote operation response

func (*GetCertInfoRemoteResponse) MarshalNDR

func (o *GetCertInfoRemoteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetCertInfoRemoteResponse) UnmarshalNDR

func (o *GetCertInfoRemoteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IISCertObjectClient

type IISCertObjectClient interface {

	// IDispatch retrieval method.
	Dispatch() idispatch.DispatchClient

	// The InstanceName method sets the web server instance to be used by subsequent method
	// calls.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [[MS-ERREF].
	//
	//	+----------------------------------+------------------------------------+
	//	|              RETURN              |                                    |
	//	|            VALUE/CODE            |            DESCRIPTION             |
	//	|                                  |                                    |
	//	+----------------------------------+------------------------------------+
	//	+----------------------------------+------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.           |
	//	+----------------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid. |
	//	+----------------------------------+------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.            |
	//	+----------------------------------+------------------------------------+
	//
	// The opnum field value for this method is 10.
	SetInstanceName(context.Context, *SetInstanceNameRequest, ...dcerpc.CallOption) (*SetInstanceNameResponse, error)

	// The IsInstalledRemote method determines if a certificate is associated with the specified
	// InstanceName.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 12.
	IsInstalledRemote(context.Context, *IsInstalledRemoteRequest, ...dcerpc.CallOption) (*IsInstalledRemoteResponse, error)

	// The IsExportableRemote method determines whether the server certificate associated
	// with InstanceName can be exported.
	//
	// Return Values:  A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 14.
	IsExportableRemote(context.Context, *IsExportableRemoteRequest, ...dcerpc.CallOption) (*IsExportableRemoteResponse, error)

	// The GetCertInfoRemote method retrieves properties from a certificate associated with
	// the specified InstanceName.
	//
	// Return Values:  A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------------------+
	//	|         RETURN          |                                                |
	//	|       VALUE/CODE        |                  DESCRIPTION                   |
	//	|                         |                                                |
	//	+-------------------------+------------------------------------------------+
	//	+-------------------------+------------------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.                       |
	//	+-------------------------+------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid.             |
	//	+-------------------------+------------------------------------------------+
	//	| 0x00000001 S_FALSE      | The call was successful. No data was returned. |
	//	+-------------------------+------------------------------------------------+
	//
	// The opnum field value for this method is 16.
	GetCertInfoRemote(context.Context, *GetCertInfoRemoteRequest, ...dcerpc.CallOption) (*GetCertInfoRemoteResponse, error)

	// The ImportFromBlob method imports a previously exported certificate blob on the target
	// machine.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------+----------------------------------------+
	//	|              RETURN              |                                        |
	//	|            VALUE/CODE            |              DESCRIPTION               |
	//	|                                  |                                        |
	//	+----------------------------------+----------------------------------------+
	//	+----------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.               |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid.     |
	//	+----------------------------------+----------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.                |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80092005 CRYPT_E_EXISTS        | The object or property already exists. |
	//	+----------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 22.
	ImportFromBlob(context.Context, *ImportFromBlobRequest, ...dcerpc.CallOption) (*ImportFromBlobResponse, error)

	// The ImportFromBlobGetHash method imports a previously exported certificate blob on
	// the target machine. In addition to data returned by method ImportFromBlob, this method
	// returns certificate hash and certificate hash buffer size in client-provided parameters
	// pcbCertHashSize and pCertHash. The server MUST allocate memory for the hash buffer
	// and assign this memory block to pCertHash. Size of required buffer is assigned to
	// pcbCertHashSize. If client will pass pCertHash equal to NULL, hash data will not
	// be returned.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------+----------------------------------------+
	//	|              RETURN              |                                        |
	//	|            VALUE/CODE            |              DESCRIPTION               |
	//	|                                  |                                        |
	//	+----------------------------------+----------------------------------------+
	//	+----------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.               |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid.     |
	//	+----------------------------------+----------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.                |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80092005 CRYPT_E_EXISTS        | The object or property already exists. |
	//	+----------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 23.
	ImportFromBlobGetHash(context.Context, *ImportFromBlobGetHashRequest, ...dcerpc.CallOption) (*ImportFromBlobGetHashResponse, error)

	// The ExportToBlob method exports the certificate referenced at InstanceName to a memory
	// buffer.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG   | The string is too long.                               |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND | The specified metadata was not found.                 |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80092004 CRYPT_E_NOT_FOUND       | Cannot find object or property.                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80090349 SEC_E_CERT_WRONG_USAGE  | The certificate is not valid for the requested usage. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 25.
	ExportToBlob(context.Context, *ExportToBlobRequest, ...dcerpc.CallOption) (*ExportToBlobResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error

	// IPID sets the object interface identifier.
	IPID(context.Context, *dcom.IPID) IISCertObjectClient
}

IIISCertObj interface.

func NewIISCertObjectClient

func NewIISCertObjectClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (IISCertObjectClient, error)

type IISCertObjectServer

type IISCertObjectServer interface {

	// IDispatch base class.
	idispatch.DispatchServer

	// The InstanceName method sets the web server instance to be used by subsequent method
	// calls.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [[MS-ERREF].
	//
	//	+----------------------------------+------------------------------------+
	//	|              RETURN              |                                    |
	//	|            VALUE/CODE            |            DESCRIPTION             |
	//	|                                  |                                    |
	//	+----------------------------------+------------------------------------+
	//	+----------------------------------+------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.           |
	//	+----------------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid. |
	//	+----------------------------------+------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.            |
	//	+----------------------------------+------------------------------------+
	//
	// The opnum field value for this method is 10.
	SetInstanceName(context.Context, *SetInstanceNameRequest) (*SetInstanceNameResponse, error)

	// The IsInstalledRemote method determines if a certificate is associated with the specified
	// InstanceName.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 12.
	IsInstalledRemote(context.Context, *IsInstalledRemoteRequest) (*IsInstalledRemoteResponse, error)

	// The IsExportableRemote method determines whether the server certificate associated
	// with InstanceName can be exported.
	//
	// Return Values:  A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 14.
	IsExportableRemote(context.Context, *IsExportableRemoteRequest) (*IsExportableRemoteResponse, error)

	// The GetCertInfoRemote method retrieves properties from a certificate associated with
	// the specified InstanceName.
	//
	// Return Values:  A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------------------+
	//	|         RETURN          |                                                |
	//	|       VALUE/CODE        |                  DESCRIPTION                   |
	//	|                         |                                                |
	//	+-------------------------+------------------------------------------------+
	//	+-------------------------+------------------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.                       |
	//	+-------------------------+------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid.             |
	//	+-------------------------+------------------------------------------------+
	//	| 0x00000001 S_FALSE      | The call was successful. No data was returned. |
	//	+-------------------------+------------------------------------------------+
	//
	// The opnum field value for this method is 16.
	GetCertInfoRemote(context.Context, *GetCertInfoRemoteRequest) (*GetCertInfoRemoteResponse, error)

	// The ImportFromBlob method imports a previously exported certificate blob on the target
	// machine.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------+----------------------------------------+
	//	|              RETURN              |                                        |
	//	|            VALUE/CODE            |              DESCRIPTION               |
	//	|                                  |                                        |
	//	+----------------------------------+----------------------------------------+
	//	+----------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.               |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid.     |
	//	+----------------------------------+----------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.                |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80092005 CRYPT_E_EXISTS        | The object or property already exists. |
	//	+----------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 22.
	ImportFromBlob(context.Context, *ImportFromBlobRequest) (*ImportFromBlobResponse, error)

	// The ImportFromBlobGetHash method imports a previously exported certificate blob on
	// the target machine. In addition to data returned by method ImportFromBlob, this method
	// returns certificate hash and certificate hash buffer size in client-provided parameters
	// pcbCertHashSize and pCertHash. The server MUST allocate memory for the hash buffer
	// and assign this memory block to pCertHash. Size of required buffer is assigned to
	// pcbCertHashSize. If client will pass pCertHash equal to NULL, hash data will not
	// be returned.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------+----------------------------------------+
	//	|              RETURN              |                                        |
	//	|            VALUE/CODE            |              DESCRIPTION               |
	//	|                                  |                                        |
	//	+----------------------------------+----------------------------------------+
	//	+----------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                  | The call was successful.               |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG          | One or more arguments are invalid.     |
	//	+----------------------------------+----------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG | The string is too long.                |
	//	+----------------------------------+----------------------------------------+
	//	| 0x80092005 CRYPT_E_EXISTS        | The object or property already exists. |
	//	+----------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 23.
	ImportFromBlobGetHash(context.Context, *ImportFromBlobGetHashRequest) (*ImportFromBlobGetHashResponse, error)

	// The ExportToBlob method exports the certificate referenced at InstanceName to a memory
	// buffer.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x000006cf RPC_S_STRING_TOO_LONG   | The string is too long.                               |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND | The specified metadata was not found.                 |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80092004 CRYPT_E_NOT_FOUND       | Cannot find object or property.                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80090349 SEC_E_CERT_WRONG_USAGE  | The certificate is not valid for the requested usage. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 25.
	ExportToBlob(context.Context, *ExportToBlobRequest) (*ExportToBlobResponse, error)
}

IIISCertObj server interface.

type ImportFromBlobGetHashRequest

type ImportFromBlobGetHashRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// InstanceName: A string that specifies a web server instance.
	InstanceName *oaut.String `idl:"name:InstanceName" json:"instance_name"`
	// Password: A password used to decrypt the imported certificate data.
	Password *oaut.String `idl:"name:Password" json:"password"`
	// bInstallToMetabase: If set to VARIANT_TRUE, indicates that the imported certificate
	// is associated with the web server instance specified by InstanceName.
	InstallToMetabase int16 `idl:"name:bInstallToMetabase" json:"install_to_metabase"`
	// bAllowExport: If set to VARIANT_TRUE, indicates that the newly imported certificate
	// is to be made exportable.
	AllowExport int16 `idl:"name:bAllowExport" json:"allow_export"`
	// bOverWriteExisting: If set to VARIANT_TRUE, indicates that importing a duplicate
	// certificate will not generate an error.
	OverwriteExisting int16 `idl:"name:bOverWriteExisting" json:"overwrite_existing"`
	// cbSize: Contains the number of bytes in the pBlobBinary buffer including the terminating
	// null character.
	Length uint32 `idl:"name:cbSize" json:"length"`
	// pBlobBinary: A buffer containing an exported, base64-encoded certificate to be imported
	// on the target machine. This buffer is a null-terminated array of bytes.
	BlobBinary string `idl:"name:pBlobBinary;size_is:(cbSize);string" json:"blob_binary"`
}

ImportFromBlobGetHashRequest structure represents the ImportFromBlobGetHash operation request

func (*ImportFromBlobGetHashRequest) MarshalNDR

func (*ImportFromBlobGetHashRequest) UnmarshalNDR

func (o *ImportFromBlobGetHashRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ImportFromBlobGetHashResponse

type ImportFromBlobGetHashResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pcbCertHashSize: If the method succeeds, returns the number of bytes returned in
	// the pCertHash buffer.
	CertHashLength uint32 `idl:"name:pcbCertHashSize" json:"cert_hash_length"`
	// pCertHash: If the method succeeds, returns a pointer to a memory buffer containing
	// the certificate signature hash. The client MUST free the pointer returned in pCertHash
	// using the appropriate memory allocator as specified by the DCOM implementation.<39>
	CertHash uint8 `idl:"name:pCertHash" json:"cert_hash"`
	// Return: The ImportFromBlobGetHash return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ImportFromBlobGetHashResponse structure represents the ImportFromBlobGetHash operation response

func (*ImportFromBlobGetHashResponse) MarshalNDR

func (*ImportFromBlobGetHashResponse) UnmarshalNDR

func (o *ImportFromBlobGetHashResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ImportFromBlobRequest

type ImportFromBlobRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// InstanceName: A string that specifies a web server instance.
	InstanceName *oaut.String `idl:"name:InstanceName" json:"instance_name"`
	// Password:  A password used to decrypt the imported certificate data.
	Password *oaut.String `idl:"name:Password" json:"password"`
	// bInstallToMetabase: If set to 1 or VARIANT_TRUE, indicates that the imported certificate
	// is associated with the web server instance specified by InstanceName.
	InstallToMetabase int16 `idl:"name:bInstallToMetabase" json:"install_to_metabase"`
	// bAllowExport: If set to 1 or VARIANT_TRUE, indicates that the newly imported certificate
	// is made exportable.
	AllowExport int16 `idl:"name:bAllowExport" json:"allow_export"`
	// bOverWriteExisting: If set to 1 or VARIANT_TRUE, indicates that importing a duplicate
	// certificate will not generate an error.
	OverwriteExisting int16 `idl:"name:bOverWriteExisting" json:"overwrite_existing"`
	// cbSize: Contains the number of bytes in the pBlobBinary buffer including the terminating
	// null character.
	Length uint32 `idl:"name:cbSize" json:"length"`
	// pBlobBinary: A buffer containing an exported, base64-encoded certificate to be imported
	// on the target machine. This buffer is a null-terminated array of bytes.
	BlobBinary string `idl:"name:pBlobBinary;size_is:(cbSize);string" json:"blob_binary"`
}

ImportFromBlobRequest structure represents the ImportFromBlob operation request

func (*ImportFromBlobRequest) MarshalNDR

func (o *ImportFromBlobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ImportFromBlobRequest) UnmarshalNDR

func (o *ImportFromBlobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ImportFromBlobResponse

type ImportFromBlobResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The ImportFromBlob return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ImportFromBlobResponse structure represents the ImportFromBlob operation response

func (*ImportFromBlobResponse) MarshalNDR

func (o *ImportFromBlobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ImportFromBlobResponse) UnmarshalNDR

func (o *ImportFromBlobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IsExportableRemoteRequest

type IsExportableRemoteRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

IsExportableRemoteRequest structure represents the IsExportableRemote operation request

func (*IsExportableRemoteRequest) MarshalNDR

func (o *IsExportableRemoteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*IsExportableRemoteRequest) UnmarshalNDR

func (o *IsExportableRemoteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IsExportableRemoteResponse

type IsExportableRemoteResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// retval: A pointer to a VARIANT_BOOL.
	ReturnValue int16 `idl:"name:retval" json:"return_value"`
	// Return: The IsExportableRemote return value.
	Return int32 `idl:"name:Return" json:"return"`
}

IsExportableRemoteResponse structure represents the IsExportableRemote operation response

func (*IsExportableRemoteResponse) MarshalNDR

func (o *IsExportableRemoteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*IsExportableRemoteResponse) UnmarshalNDR

func (o *IsExportableRemoteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IsInstalledRemoteRequest

type IsInstalledRemoteRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

IsInstalledRemoteRequest structure represents the IsInstalledRemote operation request

func (*IsInstalledRemoteRequest) MarshalNDR

func (o *IsInstalledRemoteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*IsInstalledRemoteRequest) UnmarshalNDR

func (o *IsInstalledRemoteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IsInstalledRemoteResponse

type IsInstalledRemoteResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// retval: A pointer to a VARIANT_BOOL.
	ReturnValue int16 `idl:"name:retval" json:"return_value"`
	// Return: The IsInstalledRemote return value.
	Return int32 `idl:"name:Return" json:"return"`
}

IsInstalledRemoteResponse structure represents the IsInstalledRemote operation response

func (*IsInstalledRemoteResponse) MarshalNDR

func (o *IsInstalledRemoteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*IsInstalledRemoteResponse) UnmarshalNDR

func (o *IsInstalledRemoteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetInstanceNameRequest

type SetInstanceNameRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// newVal: A string that specifies the web server instance.<33>
	NewValue *oaut.String `idl:"name:newVal" json:"new_value"`
}

SetInstanceNameRequest structure represents the InstanceName operation request

func (*SetInstanceNameRequest) MarshalNDR

func (o *SetInstanceNameRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetInstanceNameRequest) UnmarshalNDR

func (o *SetInstanceNameRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetInstanceNameResponse

type SetInstanceNameResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The InstanceName return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInstanceNameResponse structure represents the InstanceName operation response

func (*SetInstanceNameResponse) MarshalNDR

func (o *SetInstanceNameResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetInstanceNameResponse) UnmarshalNDR

func (o *SetInstanceNameResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL