iiiscertobj

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2025 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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn

	// 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

type UnimplementedIISCertObjectServer added in v1.1.5

type UnimplementedIISCertObjectServer struct {
	idispatch.UnimplementedDispatchServer
}

Unimplemented IIISCertObj

func (UnimplementedIISCertObjectServer) ExportToBlob added in v1.1.5

func (UnimplementedIISCertObjectServer) GetCertInfoRemote added in v1.1.5

func (UnimplementedIISCertObjectServer) ImportFromBlob added in v1.1.5

func (UnimplementedIISCertObjectServer) ImportFromBlobGetHash added in v1.1.5

func (UnimplementedIISCertObjectServer) IsExportableRemote added in v1.1.5

func (UnimplementedIISCertObjectServer) IsInstalledRemote added in v1.1.5

func (UnimplementedIISCertObjectServer) SetInstanceName added in v1.1.5

Jump to

Keyboard shortcuts

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