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
credentialId
CredentialIdThe
CredentialId
of the credential with the user info to update.userEntity
UserEntityThe
UserEntity
containing the new user info to be stored on the YubiKey.pinUvAuthToken
ReadOnlyMemory<byte>The PIN/UV Auth Token built from the PIN. This is the encrypted token key.
authProtocol
PinUvAuthProtocolBaseThe 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
responseApdu
ResponseApduThe ResponseApdu returned by the YubiKey.
Returns
- Fido2Response
The implementation of IYubiKeyResponse that parses and presents ths response APDU.