/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" [scriptable, uuid(51191434-1dd2-11b2-a17c-e49c4e99a4e3)] interface nsIPK11Token : nsISupports { const long ASK_EVERY_TIME = -1; const long ASK_FIRST_TIME = 0; const long ASK_EXPIRE_TIME = 1; /* * The name of the token */ readonly attribute wstring tokenName; readonly attribute wstring tokenLabel; readonly attribute wstring tokenManID; readonly attribute wstring tokenHWVersion; readonly attribute wstring tokenFWVersion; readonly attribute wstring tokenSerialNumber; /* * Login information */ boolean isLoggedIn(); void login(in boolean force); void logoutSimple(); void logoutAndDropAuthenticatedResources(); /* * Reset password */ void reset(); /* * Password information */ readonly attribute long minimumPasswordLength; readonly attribute boolean needsUserInit; boolean checkPassword(in wstring password); /* Logs out if check fails */ void initPassword(in wstring initialPassword); void changePassword(in wstring oldPassword, in wstring newPassword); long getAskPasswordTimes(); long getAskPasswordTimeout(); void setAskPasswordDefaults([const] in long askTimes, [const] in long timeout); /* * Other attributes */ boolean isHardwareToken(); boolean needsLogin(); boolean isFriendly(); };