Class UpdateUserInfoCommand
Update the user information for a credential stored on the YubiKey.
public class UpdateUserInfoCommand : IYubiKeyCommand<Fido2Response>
- Inheritance
-
objectUpdateUserInfoCommand
- Implements
Remarks
The partner Response class is Fido2Response. This command does not return any data, it only returns "success" or "failure".
This replaces the user information currently on the YubiKey. That is, you don't "edit" an entry. You generally will get the current user info, then create an entirely new UserEntity, copying any information from the previous object you want to retain, and setting any new information. Then call this command with the new object.
Note that this feature is available only to YubiKeys that support
"credMgmt". It is not available to those that support only
"CredentialMgmtPreview". It is not a subclass of
CredentialMgmtSubCommand and hence does not possess the property
IsPreview.
Constructors
UpdateUserInfoCommand(CredentialId, UserEntity, ReadOnlyMemory<byte>, PinUvAuthProtocolBase)
Constructs a new instance of UpdateUserInfoCommand.
public UpdateUserInfoCommand(CredentialId credentialId, UserEntity userEntity, ReadOnlyMemory<byte> pinUvAuthToken, PinUvAuthProtocolBase authProtocol)
Parameters
credentialIdCredentialIdThe
CredentialIdof the credential with the user info to update.userEntityUserEntityThe
UserEntitycontaining the new user info to be stored on the YubiKey.pinUvAuthTokenReadOnlyMemory<byte>The PIN/UV Auth Token built from the PIN. This is the encrypted token key.
authProtocolPinUvAuthProtocolBaseThe Auth Protocol used to build the Auth Token.
Properties
Application
Gets the YubiKeyApplication (e.g. PIV, OATH, etc.) to which this command applies.
public YubiKeyApplication Application { get; }
Property Value
- YubiKeyApplication
YubiKeyApplication.Otp, YubiKeyApplication.Piv, etc.
Methods
CreateCommandApdu()
Creates a well-formed CommandApdu to send to the YubiKey.
public CommandApdu CreateCommandApdu()
Returns
- CommandApdu
A valid CommandApdu that is ready to be sent to the YubiKey, or passed along to additional encoders for further processing.
Remarks
This method will first perform validation on all of the parameters and data provided to it. The CommandAPDU it creates should contain all of the data payload for the command, even if it exceeds 65,535 bytes as specified by the ISO 7816-4 specification. The APDU will be properly chained by the device connection prior to being sent to the YubiKey, and the responses will collapsed into a single result.
CreateResponseForApdu(ResponseApdu)
Creates the corresponding IYubiKeyResponse implementation for the current command.
public Fido2Response CreateResponseForApdu(ResponseApdu responseApdu)
Parameters
responseApduResponseApduThe ResponseApdu returned by the YubiKey.
Returns
- Fido2Response
The implementation of IYubiKeyResponse that parses and presents ths response APDU.