Windows.Devices.SmartCards.SmartCardEmulatorContract A class that represents a selection of known smartcard applet IDs; exposing them via its properties. Gets the applet ID of the payment system environment (PSE) application. An IBuffer containing the PSE applet ID. Gets the applet ID of the proximity payment system environment (PPSE) application. An IBuffer containing the PPSE applet ID. Defines the return values for the RequestActivationPolicyChangeAsync method. The policy change was allowed. The policy change was not allowed. A class that represents a digitized card, which may either be self-managed (Host Card Emulation) or backed by a physical embedded secure element (eSE). This class can also be thought of as defining a collection of smart card applet IDs. Initializes a new instance of the SmartCardAppletIdGroup class. Initializes a new instance of the SmartCardAppletIdGroup class using the specified parameters. The name for this applet ID group. The list of applet IDs. The category of smart card to which the applet IDs apply, payment card or other. The type of smart card to which the applet IDs apply, host card or UICC. Gets the collection of applet IDs. The collection of applet IDs. Gets or sets a Boolean value indicating if the operating system is permitted to enable this AppletIdGroup. A Boolean value indicating if the operating system is permitted to enable this AppletIdGroup. Gets or sets an extended description of a smartcard to help make it easier to identify the smartcard. You could, for example, set this to the last four digits of a credit card number. A string containing an extended description of a smartcard. Sets or gets the name of this applet ID group. The name of this applet ID group. Gets or sets an image that represents the smartcard. This might, for example, mimic the physical appearance of a credit card. An IRandomAccessStreamReference that provides access to a stream that contains an image that represents the smartcard. Gets the maximum number of permitted applet IDs. The maximum number of permitted applet IDs. Gets a (generic) property bag for a smartcard. A ValueSet containing a (generic) property bag for a smartcard. Gets or sets a value indicating whether the smartcard requires the user to authenticate using secure biometrics before the smartcard will process a transaction (for example, the user taps their fingerprint to approve a payment). This property applies only to embedded secure element (eSE)-based applets. `true` if the smartcard requires the user to authenticate using secure biometrics before the smartcard will process a transaction, otherwise `false`. Sets or gets the category of smart card to which the applet IDs apply, payment card or other. The category of smart card to which the applet IDs apply, payment card or other. Sets or gets the type of smart card to which the applet IDs apply, host card or UICC. The type of smart card to which the applet IDs apply, host card or UICC. Defines the valid values that can be passed to the RequestActivationPolicyChangeAsync method. The activation policy is set to disabled. The activation policy is set to enabled. The activation policy is set to foreground override. Represents a registered group of applet IDs. Gets the activation policy for the registered applet ID group. The activation policy for the registered applet ID group. Gets the registered group of applet IDs. The registered group of applet IDs. Gets a unique ID representing this applet ID group registration. A unique ID representing this applet ID group registration. Gets the ID of any SmartCardReader associated with a secure element. You can pass this ID to SmartCardReader.FromIdAsync. A string containing the ID of any SmartCardReader associated with a secure element. Attempts to asynchronously change the ActivationPolicy for this group of registered applet IDs. The new activation policy. Indicates if the policy change was allowed or denied. Sets a collection of SmartCardAutomaticResponseApdu objects containing the automatic responses to return for this SmartCardAppletIdGroupRegistration. A collection of automatic responses. An asynchronous action that completes when the requested operation is done. Asynchronously sets the value of SmartCardAppletIdGroup.Properties. A ValueSet containing a (generic) property bag for a smartcard. An asynchronous property-setting action, which completes when the properties have been set. Represents the smart card automatic response Application Protocol Data Unit (APDU). Initializes a new instance of the class. The APDU command sent by the NFC reader. The response to the NFC reader. Gets or sets a Boolean value indicating whether to continue with Automatic APDU processing if Cryptogram Materials cannot be prepared for use without user authorization. The boolean value indicating whether to continue with Automatic APDU processing if Cryptogram Materials cannot be prepared for use without user authorization. Gets or sets the applet identifier for this APDU. The applet identifier for this APDU. Gets or sets the command for this APDU. The command for this APDU. Gets or sets the bitmask for the APDU command. The bitmask for the APDU command. Gets and puts the input state. The input state. Gets and puts the output state. The output state. Gets or sets the response from the Application Protocol Data Unit (APDU). The response from the APDU. Gets or sets a Boolean value indicating whether the CommandApdu and incoming command should have exactly matching length. A Boolean value indicating whether the CommandApdu and incoming command should have exactly matching length. Defines the status of the smart card readers automatic response. No status provided. Read was a success. Read failed with an unidentified error. Defines the cryptogram generation algorithm for a cryptogram placement step. Use the cipher block chaining message authentication code (CBC-MAC) algorithm. Use the CVC3-MD algorithm. Use the CVC3-UMD algorithm. Use the decimalized MSD algorithm. Do not use any algorithm. Use the Public-Key Cryptography Standards 1 (PKCS) RSA algorithm. Use the SHA-1 algorithm. Use the signed dynamic application data algorithm. Represents the mechanism for providing hardware supported for secure payment applications and protocols. Get the supported cryptogram algorithms. The supported algorithms. Gets the supported cryptogram material package confirmation response formats. The supported cryptogram material package confirmation response formats. Gets the supported cryptogram material package formats. The supported cryptogram material package formats. Gets the supported cryptogram material types. The supported cryptogram material types. Gets the supported smart card cryptogram storage key capabilities. The supported smart card cryptogram storage key capabilities. Generates a cryptogram storage key. The user prompting behavior. The name of the new storage key. The encryption algorithm to use with the storage key. The capabilities of the new storage key. An asynchronous operation that completes with an operation status after the attempt of creating a storage key. Deletes a cryptogram material package. The material package name. An asynchronous operation that completes with an operation status after the prompting behavior is completed. Deletes the app's storage key and all of its stored packages. The name of the storage key. An asynchronous operation that completes with an operation status. Gets all the cryptogram material characteristics. The prompting behavior. The material package name. Returns an asynchronous operation that completes with the characteristics result. Gets all cryptogram material package characteristics. Returns an asynchronous operation that completes with the package characteristics result. Gets all the cryptogram material package characteristics. The storage key name. Returns an asynchronous operation that completes with the package characteristics result. Gets all storage key characteristics. Returns an asynchronous operation that completes with the characteristics result. Gets the smart card cryptogram generator. An asynchronous operation that completes with a generator. Imports a cryptogram package. The format of the package. The name of the storage key. The name of the package. A buffer containing the cryptogram package data. An asynchronous operation that completes with an operation status after the attempt of importing a package. Returns whether the SmartCardCryptogramGenerator is supported. True if SmartCardCryptogramGenerator is supported. Returns the public key and attestation information related to the cryptogram storage key. The prompting behavior to display to the user for validation. The name of the storage key. The format in which the public key of the storage key is to be returned. An asynchronous operation that returns the smart card cryptogram storage key information. Requests that previously imported cryptogram material packages be readied for use. The unlock prompting behavior. An asynchronous operation that completes with an operation status after the prompting behavior is completed. This method allows the payment app to query the cryptogram generator for proof of material package possession. The prompting behavior to display to the user for validation. The format of the response. The material package name. The material name. A buffer that contains the confirmation challenge token. The challenge token must consist of UTF-8 characters conformating to the following C# regular expression. ``` An asynchronous operation that completes with the material possession proof. Validates the APDU request. The prompting behavior. The APDU to validate. The cryptogram placement steps. Returns an asynchronous operation that completes with the operation status. Defines the statuses for cryptogram generator methods. The APDU response was not sent. The authorization was canceled. The authorization failed. Authorization is required. The cryptogram material package storage key already exists. Invalid cryptogram material usage. There is no cryptogram material package. There is no cryptogram material package storage key. An unknown error occurred. Operation completed successfully. The specified material name was not found when opening the package. The cryptogram material package is unsupported. This class contains information that is returned by GetAllCryptogramMaterialCharacteristicsAsync. Creates an instance of SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult. Gets the characteristics. The characteristics. Gets the operation status of GetAllCryptogramMaterialCharacteristicsAsync operation. The operation status of GetAllCryptogramMaterialCharacteristicsAsync operation. This class contains information that is returned by GetAllCryptogramMaterialPackageCharacteristicsAsync. Creates an instance of SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult. Gets the characteristics. The characteristics. Gets the operation status of GetAllCryptogramMaterialPackageCharacteristicsAsync. The operation status of GetAllCryptogramMaterialPackageCharacteristicsAsync. This class contains information that is returned by GetAllCryptogramStorageKeyCharacteristicsAsync. Creates a new instance of SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult. Gets the characteristics. The characteristics. Gets the operation status of GetAllCryptogramStorageKeyCharacteristicsAsync. The operation status of GetAllCryptogramStorageKeyCharacteristicsAsync. This class contains characteristics of cryptogram material. Creates a new instance of SmartCardCryptogramMaterialCharacteristics Gets the allowed algorithms. The allowed algorithms. Gets the allowed proof of allowed proof of possession algorithms. The allowed proof of allowed proof of possession algorithms. Gets the allowed validation algorithms. The allowed calidation algorithms. Gets the material length. The material length. Gets the material name. The material name. Gets the material type. The material type. Gets the protection method. The protection method. Gets the protection version. The protection version. This class contains characteristics of a cryptogram material package. Creates a new instance of SmartCardCryptogramMaterialPackageCharacteristics. Gets the date that the material package was imported. The date that the material package was imported. Gets the package format. The packge format. Gets the package name. The package name. Gets the storage key name. The storage key name. Defines the format of the proof of possession returned when calling the TryProvePossessionOfCryptogramMaterialPackageAsync method. No format specified. Visa hash-based message authentication code (HMAC) format. Defines the cryptogram material package format. The material package is JSON Web Encrypted (JWE) by RSA. The material does not have a format. Contains the result of calling TryProvePossessionOfCryptogramMaterialPackageAsync with a challenge token to prove that the device possesses the identified cryptogram material. Gets or sets the operation status of the proof operation. The operation status. Gets the result of the proof of possession operation. This field is only valid if the OperationStatus field is Success. A buffer containing the result from a successful proof of possession operation. Defines the cryptogram material protection method. Do not protect the cryptogram material. Protect the cryptogram material by whiteboxing. Defines the cryptogram material type. The material is data that is generated using AES. The material doesn't have a data type. The material is data that is generated by using RSA according to PKCS #1 The material is static data for authentication. The material data is generated using TripleDes112. Defines cryptogram placement options. The placement step's output should be chained into the specified step. The placement option does not have a defined format. The CryptogramOffset, TemplateOffset, and CryptogramLength values are in nibbles and not bytes. Contains instructions for placing a cryptogram in an outgoing message. Constructs a new SmartCardCryptogramPlacementStep object. Gets or sets an optional placement step that will use this placement step's output as an input to the next specified placement step. The target of a chained step. The value must be null if this placement step is not chained. Gets or sets the output of this chained step. The output of this chained step. Gets or sets the length of the output to take from the offset. The cryptogram inserted into the outgoing message may not exceed this length. Units may be either bytes or nibbles, based on the UnitsAreInNibbles flag of the CryptogramPlacementOptions property. Gets or sets the cryptogram material name to use when executing this step. The cryptogram material name to use in generating the cryptogram to be placed in this outgoing message. Gets or sets the cryptogram material package name that contains the material specified. The cryptogram material package name in which the named cryptogram material may be found. Gets or sets the data that will be used to generate the cryptogram to be placed in the outgoing message. The offset in the generated cryptogram to begin copying into the message that will be sent. Units may be either bytes or nibbles, based on the UnitsAreInNibbles flag of the CryptogramPlacementOptions field. Gets or sets the cryptogram placement options. The cryptogram placement options. Gets or sets the data that will be encrypted in this step of chaining cryptograms. The source data. Gets or sets the offset into the target output buffer at which the generated cryptogram will be placed. Units may be either bytes or nibbles, based on the UnitsAreInNibbles flag of the CryptogramPlacementOptions field. The data template offset. Defines cryptogram storage key algorithms. The storage key is not encrypted. The storage key is encrypted by RSA-2048. Defines cryptogram storage key capabilities. The storage key has hardware protection. The storage key has none of the capabilities defined in this enumeration. The storage key requires a gesture prior to being used in any cryptographic operation. This class contains characteristics of storage keys. Creates a new instance of SmartCardCryptogramStorageKeyCharacteristics. Gets the algorithm. The algorithm. Gets the capabilities. The capabilities. Gets the date this storage key was created. The date this storage key was created. Gets the storage key name. The storage key name. Contains information about the storage key so that apps can register and certify the key information with their service. Gets the attestation. A buffer containing the attestation. Gets the attestation certificate chain. A buffer containing the attestation certificate chain. Gets the attestation status. The attestation status. Gets the cryptogram storage key capabilities. The cryptogram storage key capabilities. Gets the operational requirements of the storage key. The operational requirements. Gets the operation status. The operation status. Gets the public key. A buffer containing the public key in the format specified when calling RequestCryptogramMaterialStorageKeyInfoAsync. Gets the type of the public key object. This value reflects the public key blob type requested in the RequestCryptogramMaterialStorageKeyInfoAsync method. The type of the public key object. Defines the attestation status of a key. The key has no attestation. The key is a software key on a device without a TPM. The key is a software key on a device with a TPM. The TPM supporting the key has an unknown attestation status. The key is a TPM key with attestation. The key is a TPM key with a long term attestation failure. The key is a TPM key on a device that does not have the ability to provide attestation. The key is a TPM key with a temporary attestation failure. Defines the valid categories of smart cards that can be emulated. Specifies smart cards other than payment cards, such as a loyalty cards or security badges. Specifies payment cards. Defines the mechanism by which the device emulates a smart card. The device emulates a smart card by forwarding the application protocol data unit (APDU) commands to an embedded SE reader. The device emulates a smart card by forwarding application protocol data unit (APDU) commands to the host application, which responds back. The device emulates a smart card by forwarding the application protocol data unit (APDU) commands directly to the physical UICC card. The UICC card is more commonly referred to as the SIM card. Represents a smart card emulator device. Gets the current card emulation policy set by the user. The current card emulation policy set by the user through the phone settings. This property is read-only to the app; you should tell the user to change the card emulation policy in the settings on his or her phone, if their mobile operator allows it. Gets the maximum number of permitted applet ID group registrations. The maximum number of permitted applet ID group registrations. Occurs when an application protocol data unit (APDU) is received by the NFC controller. Occurs when the connection with the device is physically broken or when the NFC reader requests a connection to a different app. Gets the registered applet identifier groups for this smart card, asynchronously. The registered applet identifier groups for this smart card. Returns the SmartCardEmulator object representing the default smart card emulator device. After the asynchronous operation completes, returns the default smart card emulator or null if there is no smart card emulator present. Gets a Boolean value indicating if host card emulation is supported by this device. True if host card emulation is supported by this device. Returns whether the SmartCardEmulator is supported. True if SmartCardEmulator is supported. Asynchronously registers a group of applet IDs. The group of applet IDs to register. The group of registered applet IDs. Starts the smart card emulator. This method must be called from a background task. Asynchronously unregisters a previously registered group of applet IDs. The previously registered group of applet IDs. An IAsyncAction object that is used to control the asynchronous operation. Provides data for the ApduReceived event. Gets a SmartCardAutomaticResponseStatus object indicating the automatic response was already successfully sent (**Success**), attempted but failed (**UnknownError**), or was not matched with any auto-responder rule (**None**). The object indicating the status of the automatic response. Represents an application protocol data unit (APDU) command sent by an NFC reader. An application protocol data unit (APDU) command sent by an NFC reader. Gets the connection properties of the smart card emulator. The connection properties of the smart card emulator. Gets the state. The state. Attempts to respond to an APDU. A buffer containing the response. Returns an asynchronous operation that returns a boolean when the operation completes indicating. The boolean will be true if the operation was successful and false otherwise. Attempts to respond to an APDU. A buffer containing the response. A reference containing the next state. Returns an asynchronous operation that returns a boolean when the operation completes. The boolean is true if the operation completed successfully and false otherwise. Attempts to respond to an APDU, placing cryptograms in the outgoing message as instructed by the placement steps. A buffer containing a template response. A collection that contains the cryptogram steps. Returns an asynchronous operation that completes with an operation status. Returns an asynchronous operation that completes with an operation status. A buffer that contains a template response. A collection that contains the cryptogram steps. A reference that contains the next state. Returns an asynchronous operation that completes with an operation status. Provides data for the ConnectionDeactivated event. Gets the connection properties for the smart card emulator. The connection properties for the smart card emulator. Gets the reason that the smart card connection to the NFC reader was deactivated. The reason that the smart card connection to the NFC reader was deactivated. Defines the reasons a smart card connection to an NFC reader could become deactivated. The physical connection to the reader was lost. The connection is redirected to another app due to reader terminal selecting a different application identifier which resolves to a different app. Provides information about a smart card emulator connection to an NFC reader. Gets the identifier for the connection. The identifier for the connection. Gets an enum value indicating if the connection is to an NFC reader or something else. An enum value indicating if the connection is to an NFC reader or something else. Defines the valid types of smart card connection sources. Specifies an NFC reader connection. Specifies a connection to something other than an NFC reader. Represents the current card emulation policy set by the user in the phone settings. Card emulation is always on. Card emulation is disabled. Card emulation is only on when the phone screen is on. Card emulation is only on when the phone screen is unlocked. Defines the unlock prompting behavior. Allow an unlock prompt if required. Prevent an unlock prompt. Require an unlock prompt.