000021768 - Support for foreign (non-English) languages in RSA ACE/Server and RSA Authentication Manager

Document created by RSA Customer Support Employee on Jun 16, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000021768
Applies ToRSA ACE/Server 5.2 Administration API
RSA Authentication Manager 6.0 Administration API
Microsoft Windows
IssueSupport for foreign (non-English) languages in RSA ACE/Server and RSA Authentication Manager
Which character set is used to return results of Administration API function calls?
Resolution

Non-English languages are currently supported on Microsoft Windows only. The Administration API returns the data in whichever format it's stored in the ACE/Server - there is no conversion to and from the database. The format in which the data is stored in the database (and so, the format in which it is returned) is defined in the Progress startup.pf file (in /ace/rdbms32/).

ACE/Server 5.2 and Authentication Manager 6.0 currently support the following ISO Latin-1 Languages

? English

? Finnish

? French

? German

? Norwegian

? Spanish

? Swedish

ACE/Server 5.2 and Authentication Manager 6.0 also support the following multi-byte character sets

? Chinese (Simplified and Traditional)

? Japanese (Katakana, Hiragana and Kanji)

? Korean

For more information see Appendix C of the Administration Manual.

Note: The Toolkit Reference Guide and the associated apiuser.h header show the passing of data with a data type of char*. However, this does not mean that only ASCII data may be passed; compilers such as Microsoft Visual Studio .NET will be able to cater for an implicit cast to and from the character set being used in the application (e.g. _UNICODE or _MBCS). For example, look at the following C++ .NET code:

#include "stdafx.h"

#include "apiuser.h"

 

int _tmain(int argc, _TCHAR* argv[])

{

 

      int res;

      char buffer[MAX_RESULT_MSG_SIZE];

 

 

 

#ifdef _UNICODE

   printf("UNICODE version\n");

#else /* _UNICODE */

#ifdef _MBCS

   printf("Multi-Byte Character Set version\n");

#else

   printf("Single-Byte Character Set version\n");

#endif

#endif /* _UNICODE */

 

      printf("Number of arguments supplied=%d\n",argc);

      for (int i=0;i<argc;i++)

      {

            printf("Parameter %d = %s\n",i,argv[i]);

      }

      if (argc!=5)

      {

            printf("Wrong number of arguements supplied\n");

            printf("SYNTAX:ACEAddUser lastname firstname defaultlogin defaultshell\n");

            exit(1);

      }

 

      res=Sd_ApiInit("","","1",buffer,MAX_RESULT_MSG_SIZE);

      printf("%s\n",buffer);

      res=Sd_AddUser(argv[1],argv[2],argv[3],argv[4],buffer,MAX_RESULT_MSG_SIZE);

      printf("%s\n",buffer);

      res=Sd_ApiEnd(buffer,MAX_RESULT_MSG_SIZE);

      printf("%s\n",buffer);

      return 0;

}

Now, look at how this may be used to add a Japanese username into Authentication Manager 6.0

Legacy Article IDa24951

Attachments

    Outcomes