org.virtualbox_7_0
Class IUefiVariableStore

java.lang.Object
  extended by org.virtualbox_7_0.IUnknown
      extended by org.virtualbox_7_0.IUefiVariableStore

public class IUefiVariableStore
extends IUnknown

The IUefiVariableStore interface allows inspecting and manipulating the content of an existing UEFI variable store in a NVRAM file. This is used only in theINvramStore.getUefiVariableStore()attribute. Interface ID: {D134C6B6-4479-430D-BB73-68A452BA3E67}


Field Summary
 
Fields inherited from class org.virtualbox_7_0.IUnknown
obj, objMgr, port
 
Constructor Summary
IUefiVariableStore(java.lang.String wrapped, org.virtualbox_7_0.ObjectRefManager objMgr, org.virtualbox_7_0.jaxws.VboxPortType port)
           
 
Method Summary
 void addKek(byte[] keyEncryptionKey, java.lang.String owner, SignatureType signatureType)
          Convenience method to add a new Key Encryption Key (KEK) for Secure Boot.
 void addSignatureToDb(byte[] signature, java.lang.String owner, SignatureType signatureType)
          Convenience method to add a new entry to the signature database.
 void addSignatureToDbx(byte[] signature, java.lang.String owner, SignatureType signatureType)
          Convenience method to add a new entry to the forbidden signature database.
 void addVariable(java.lang.String name, java.lang.String owner, java.util.List<UefiVariableAttributes> attributes, byte[] data)
          Adds a new variable to the non volatile storage area.
 void changeVariable(java.lang.String name, byte[] data)
          Changes the data of the given variable.
 void deleteVariable(java.lang.String name, java.lang.String owner)
          Deletes the given variable from the non volatile storage area.
 void enrollDefaultMsSignatures()
          Convenience method to enroll the standard Microsoft KEK and signatures in the signature databases.
 void enrollOraclePlatformKey()
          Enroll the default platform key from Oracle for enabling Secure Boot.
 void enrollPlatformKey(byte[] platformKey, java.lang.String owner)
          Convenience method to enroll a new platform key (PK) for enabling Secure Boot.
 java.lang.Boolean getSecureBootEnabled()
          Flag whether secure boot is currently enabled for the VM.
static IUefiVariableStore queryInterface(IUnknown obj)
           
 void queryVariableByName(java.lang.String name, Holder<java.lang.String> owner, Holder<java.util.List<UefiVariableAttributes>> attributes, Holder<byte[]> data)
          Queries the variable content variable by the given name.
 void queryVariables(Holder<java.util.List<java.lang.String>> names, Holder<java.util.List<java.lang.String>> owners)
          Queries all variables in the non volatile storage and returns their names.
 void setSecureBootEnabled(java.lang.Boolean value)
          Flag whether secure boot is currently enabled for the VM.
 
Methods inherited from class org.virtualbox_7_0.IUnknown
getObjMgr, getRemoteWSPort, getWrapped, releaseRemote
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IUefiVariableStore

public IUefiVariableStore(java.lang.String wrapped,
                          org.virtualbox_7_0.ObjectRefManager objMgr,
                          org.virtualbox_7_0.jaxws.VboxPortType port)
Method Detail

getSecureBootEnabled

public java.lang.Boolean getSecureBootEnabled()
Flag whether secure boot is currently enabled for the VM.

Returns:
Boolean

setSecureBootEnabled

public void setSecureBootEnabled(java.lang.Boolean value)
Flag whether secure boot is currently enabled for the VM.

Parameters:
value - Boolean

queryInterface

public static IUefiVariableStore queryInterface(IUnknown obj)

addVariable

public void addVariable(java.lang.String name,
                        java.lang.String owner,
                        java.util.List<UefiVariableAttributes> attributes,
                        byte[] data)
Adds a new variable to the non volatile storage area.

Parameters:
name - Name of the variable.
owner - UUID of the variable owner.
attributes - Attributes of the variable.
data - The variable data.

deleteVariable

public void deleteVariable(java.lang.String name,
                           java.lang.String owner)
Deletes the given variable from the non volatile storage area.

Parameters:
name - Name of the variable.
owner - UUID of the variable owner.

changeVariable

public void changeVariable(java.lang.String name,
                           byte[] data)
Changes the data of the given variable.

Parameters:
name - Name of the variable.
data - The new variable data.

queryVariableByName

public void queryVariableByName(java.lang.String name,
                                Holder<java.lang.String> owner,
                                Holder<java.util.List<UefiVariableAttributes>> attributes,
                                Holder<byte[]> data)
Queries the variable content variable by the given name.

Parameters:
name - Name of the variable to look for.
owner - UUID of the variable owner returned on success.
attributes - Attributes of the variable.
data - The variable data returned on success.

queryVariables

public void queryVariables(Holder<java.util.List<java.lang.String>> names,
                           Holder<java.util.List<java.lang.String>> owners)
Queries all variables in the non volatile storage and returns their names.

Parameters:
names - The variable names returned on success.
owners - UUID of the variable owners returned on success.

enrollOraclePlatformKey

public void enrollOraclePlatformKey()
Enroll the default platform key from Oracle for enabling Secure Boot.


enrollPlatformKey

public void enrollPlatformKey(byte[] platformKey,
                              java.lang.String owner)
Convenience method to enroll a new platform key (PK) for enabling Secure Boot.

Parameters:
platformKey - The platform key (PK) to enroll.
owner - UUID of the PK owner.

addKek

public void addKek(byte[] keyEncryptionKey,
                   java.lang.String owner,
                   SignatureType signatureType)
Convenience method to add a new Key Encryption Key (KEK) for Secure Boot.

Parameters:
keyEncryptionKey - The Key Encryption Key (KEK) to add.
owner - UUID of the KEK owner.
signatureType - Type of the signature.

addSignatureToDb

public void addSignatureToDb(byte[] signature,
                             java.lang.String owner,
                             SignatureType signatureType)
Convenience method to add a new entry to the signature database.

Parameters:
signature - The signature to add.
owner - UUID of the signature owner.
signatureType - Type of the signature.

addSignatureToDbx

public void addSignatureToDbx(byte[] signature,
                              java.lang.String owner,
                              SignatureType signatureType)
Convenience method to add a new entry to the forbidden signature database.

Parameters:
signature - The signature to add.
owner - UUID of the signature owner.
signatureType - Type of the signature.

enrollDefaultMsSignatures

public void enrollDefaultMsSignatures()
Convenience method to enroll the standard Microsoft KEK and signatures in the signature databases.