Microsoft.Phone.SecureElement Namespace

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Provides types and members to interact with the Secure Element on the phone. You can use the members of this namespace to determine whether a Secure Element exists on the phone, register applets on the element, set up a communication channel and transmit commands, known as APDU commands, to the element.

The use of the Secure Element API in an app requires a specific type of SIM card provisioned by a mobile operator on phones that run the app. If you are collaborating with a mobile operator on an app that uses mobile payments, contact the mobile operator for the information necessary to use the Secure Element API.

Capabilities

If you use this API in your app, you must specify the following capabilities in the app manifest. Otherwise, your app might not work correctly or it might exit unexpectedly.

Capability

API that requires this capability

ID_CAP_WALLET

Required for all Wallet API, which is anything in Microsoft.Phone.Wallet or Microsoft.Phone.SecureElement.

ID_CAP_PAYMENTINSTRUMENTS

Required for PaymentInstrument and OnlinePaymentInstrument.

ID_CAP_WALLET_SECUREELEMENT

Required for SecureElementSession, SecureElementChannel and SecureElementReader.

For more info, see App capabilities and hardware requirements for Windows Phone 8.

Classes

  Class Description
RegisterSecureElementItemEventArgs Event data passed to the handler of the RegisterSecureElementItemCompleted event.
SecureElementChannel Represents a Secure Element channel that has been opened in a SecureElementSession to transmit APDU commands to the Secure Element on the phone.
SecureElementItemActionEventArgs Allows a wallet agent to respond to a request to perform an operation on a secure element. This object is passed into the OnSecureElementItemAction method of a wallet agent.
SecureElementProperties Represents the NFC-specific properties of a wallet item.
SecureElementReader Represents an object that can interact with the Secure Element on the phone.
SecureElementSession Represents a Secure Element sessions that is used to create channels and transmit commands to the Secure Element on the phone.
UserActionEventArgs Allows a wallet agent to query for the secure element event that recently associated the provided item. This object is passed into the OnUserAction method of a wallet agent.

Interfaces

  Interface Description
ISecureElementItem Exposes Secure Element properties.

Enumerations

  Enumeration Description
ActivationAuthenticationResultKind Describes the result of activation authentication.
CardEmulationMode Describes the user's selection in the wallet settings regarding the ability of the Secure Element to communicate with an external NFC terminal via the wireless NFC radio link.
SecureElementItemAction Specifies the actions that an agent can perform on a Secure Element item.
SecureElementProperties..::.AppletState Represents the last known state of card’s corresponding applet on the Secure Element.