How to encrypt characters with multilingual?

Hi,
I used DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT to encrypt characters without problem in plsql. However, when I attempted to encrypt characters containing Chinese characters (combinations of ABC's and Chinese characters), somehow it will give me the following errors:
ORA-28232: invalid input length for obfuscation toolkit
ORA-06512: at "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", line 21
ORA-06512: at "SYS.DBMS_OBFUSCATION_TOOLKIT", line 99
Please advice if it is possible to encrypt multilingual characters and if so, how, if it is different from the normal encryption ways. My database is 10g with UTF8 and the mentioned data is retrieved from database.
Thank you in advance.
Regards,
wongly

Hi,
This is because the input data to DESENCRYPT must be a multiple of 8 bytes. If the input is chinese characters then 8 characters will be longer than 8 bytes. You must use lengthb and substrb functions to ensure that the input is exactly a multiple of 8 bytes.

Similar Messages

  • How to encrypt password with hash function in Java?

    Hello, everybody!
    I will need to store user passwords in a database, but for stronger security I want to store these passwords hashed, so I know I will need a column for the password and for the salt value.
    So, I'd like that you indicate me a very good article or tutorial (preferable from Sun) that shows me how to use Java to encrypt and decrypt passwords with hash. It doesn't necessarily need to deal with database. I can implement this part myself after seeing how Java manage encryption with hash functions.
    Thank you very much.
    Marcos

    I will tell you more precisely what I want to get better for you to help me.
    As I said I implemented in .NET what I need to implement in Java now. In my
    database I have a table with this structure (I omitted that columns that are not
    necessary to our discussion):
    CREATE TABLE EMPLOYEES
    ID NOT NULL PRIMARY KEY,
    PASSWORD VARCHAR(40), -- password encrypted
    HASH_SALT VARCHAR(10) -- salt value used to encrypt password
    So, in the table I have a column to store the password encrypted and a column to
    store the salt value.
    Below is a little utility class (in C#) that I use to generate the salt and
    the hashed password.
    public static class PasswordUtilities
        public static string GenerateSalt()
            RNGCryptoServiceProvider encoder = new RNGCryptoServiceProvider();
            byte[] buffer = new byte[5];
            encoder.GetBytes(buffer);
            return Convert.ToBase64String(buffer);
        public static string EncryptPassword(string password, string salt)
            string encryptedPassword =
                FormsAuthentication.HashPasswordForStoringInConfigFile(
                password + salt, "SHA1");
            return encryptedPassword;
    }As you can see, the class is fairly simple. It only has two methods: one to
    generate the salt value that will be used to encrypt the password and another
    one to encrypt the password. The method HashPasswordForStoringInConfigFile of
    the FormsAuthentication class is what really hash the password with the salt
    value. This class belongs to the .NET library, so we can't see its source code,
    but it doesn't matter for our discussion as I know that we can implement
    something similar in Java.
    Below is a little sample code showing the use of the utility class above to
    encrypt a password.
    public class Encrypt
        public static void Main(string args[])
            string password = "Secret";
            string salt = PasswordUtilities.GenerateSalt();
            string encryptedPassword = PasswordUtilities.EncryptPassword(password, salt);
            // now I store 'encryptedPassword' in the PASSWORD column and 'salt'
            // in the HASH_SALT column in the EMPLOYEES table.
    }To verify if a password is correct I can use the code below:
    public class VerifyPassword
        public static void Main(string args[])
            string password = GetPasswordFromUser();
            // Let's assume that employee is an instance that corresponds to a row
            // in the database and the properties HashSalt and Password correspond
            // to the HASH_SALT and PASSWORD columns respectively.
            Employee employee = GetEmployeeFromDatabase(1);
            string salt = employee.HashSalt;
            string encryptedPassword = PasswordUtilities.EncryptPassword(password, salt);
            bool passwordMatch = employee.Password.Equals(encryptedPassword);
            System.Console.WriteLine(passwordMatch);
    }The only thing that interest me in this discussion is the PasswordUtilities class.
    As you saw its code is in C#, using the .NET framework libraries.
    What I want is to have this same little class coded in Java, to generate the salt
    value and to encrypt the password passed in using salt value generated. If you could
    help me to do that with articles that have what I want or with code that already do
    that I would really appreciate.
    Thank you in advance.
    Marcos

  • How to encrypt data with PublicKey???

    Hi, I need to know how I can encrypt data (in byte[ ]) with a PublicKey instance.... I'm using BouncyCastle....
    THANKS...
    Andres

    http://javaalmanac.com/egs/javax.crypto/pkg.html#Encrypting%20and%20Decrypting

  • How to encrypt column of some table with the single method  on oracle7/814?

    How to encrypt column of some table with the single method on oracle7/814?

    How to encrypt column of some table with the single method on oracle7/814?

  • How to encrypt column of some table with the single method ?

    How to encrypt column of some table with the single method ?

    How to encrypt column of some table with the single
    method ?How to encrypt column of some table with the single
    method ?
    using dbms_crypto package
    Assumption: TE is a user in oracle 10g
    we have a table need encrypt a column, this column SYSDBA can not look at, it's credit card number.
    tha table is
    SQL> desc TE.temp_sales
    Name Null? Type
    CUST_CREDIT_ID NOT NULL NUMBER
    CARD_TYPE VARCHAR2(10)
    CARD_NUMBER NUMBER
    EXPIRY_DATE DATE
    CUST_ID NUMBER
    1. grant execute on dbms_crypto to te;
    2. Create a table with a encrypted columns
    SQL> CREATE TABLE te.customer_credit_info(
    2 cust_credit_id number
    3      CONSTRAINT pk_te_cust_cred PRIMARY KEY
    4      USING INDEX TABLESPACE indx
    5      enable validate,
    6 card_type varchar2(10)
    7      constraint te_cust_cred_type_chk check ( upper(card_type) in ('DINERS','AMEX','VISA','MC') ),
    8 card_number blob,
    9 expiry_date date,
    10 cust_id number
    11      constraint fk_te_cust_credit_to_cust references te.customer(cust_id) deferrable
    12 )
    13 storage (initial 50k next 50k pctincrease 0 minextents 1 maxextents 50)
    14 tablespace userdata_Lm;
    Table created.
    SQL> CREATE SEQUENCE te.customers_cred_info_id
    2 START WITH 1
    3 INCREMENT BY 1
    4 NOCACHE
    5 NOCYCLE;
    Sequence created.
    Note: Credit card number is blob data type. It will be encrypted.
    3. Loading data encrypt the credit card number
    truncate table TE.customer_credit_info;
    DECLARE
    input_string VARCHAR2(16) := '';
    raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(CONVERT(input_string,'AL32UTF8','US7ASCII'));
    key_string VARCHAR2(8) := 'AsDf!2#4';
    raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(CONVERT(key_string,'AL32UTF8','US7ASCII'));
    encrypted_raw RAW(2048);
    encrypted_string VARCHAR2(2048);
    BEGIN
    for cred_record in (select upper(CREDIT_CARD) as CREDIT_CARD,
    CREDIT_CARD_EXP_DATE,
    to_char(CREDIT_CARD_NUMBER) as CREDIT_CARD_NUMBER,
    CUST_ID
    from TE.temp_sales) loop
    dbms_output.put_line('type:' || cred_record.credit_card || 'exp_date:' || cred_record.CREDIT_CARD_EXP_DATE);
    dbms_output.put_line('number:' || cred_record.CREDIT_CARD_NUMBER);
    input_string := cred_record.CREDIT_CARD_NUMBER;
    raw_input := UTL_RAW.CAST_TO_RAW(CONVERT(input_string,'AL32UTF8','US7ASCII'));
    dbms_output.put_line('> Input String: ' || CONVERT(UTL_RAW.CAST_TO_VARCHAR2(raw_input),'US7ASCII','AL32UTF8'));
    encrypted_raw := dbms_crypto.Encrypt(
    src => raw_input,
    typ => DBMS_CRYPTO.DES_CBC_PKCS5,
    key => raw_key);
    encrypted_string := rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_raw)) ;
    dbms_output.put_line('> Encrypted hex value : ' || encrypted_string );
    insert into TE.customer_credit_info values
    (TE.customers_cred_info_id.nextval,
    cred_record.credit_card,
    encrypted_raw,
    cred_record.CREDIT_CARD_EXP_DATE,
    cred_record.CUST_ID);
    end loop;
    commit;
    end;
    4. Check credit card number script
    DECLARE
    input_string VARCHAR2(16) := '';
    raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(CONVERT(input_string,'AL32UTF8','US7ASCII'));
    key_string VARCHAR2(8) := 'AsDf!2#4';
    raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(CONVERT(key_string,'AL32UTF8','US7ASCII'));
    encrypted_raw RAW(2048);
    encrypted_string VARCHAR2(2048);
    decrypted_raw RAW(2048);
    decrypted_string VARCHAR2(2048);
    cursor cursor_cust_cred is select CUST_CREDIT_ID, CARD_TYPE, CARD_NUMBER, EXPIRY_DATE, CUST_ID
    from TE.customer_credit_info order by CUST_CREDIT_ID;
    v_id customer_credit_info.CUST_CREDIT_ID%type;
    v_type customer_credit_info.CARD_TYPE%type;
    v_EXPIRY_DATE customer_credit_info.EXPIRY_DATE%type;
    v_CUST_ID customer_credit_info.CUST_ID%type;
    BEGIN
    dbms_output.put_line('ID Type Number Expiry_date cust_id');
    dbms_output.put_line('-----------------------------------------------------');
    open cursor_cust_cred;
    loop
         fetch cursor_cust_cred into v_id, v_type, encrypted_raw, v_expiry_date, v_cust_id;
    exit when cursor_cust_cred%notfound;
    decrypted_raw := dbms_crypto.Decrypt(
    src => encrypted_raw,
    typ => DBMS_CRYPTO.DES_CBC_PKCS5,
    key => raw_key);
    decrypted_string := CONVERT(UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw),'US7ASCII','AL32UTF8');
    dbms_output.put_line(V_ID ||' ' ||
    V_TYPE ||' ' ||
    decrypted_string || ' ' ||
    v_EXPIRY_DATE || ' ' ||
    v_CUST_ID);
    end loop;
    close cursor_cust_cred;
    commit;
    end;
    /

  • Sum Encrypt does not recognize a copy of a file through linux. How decrypt this file with Sum Encrypt?

    Sum Encrypt does not recognize a copy of a file through linux to Mac 0S9. How decrypt this file with Sum Encrypt?

    Hello, and welcome to Apple Support Communities!
    I am not familiar with the program that you list, however files in OS 9 use things called Resource Forks (rather than file extensions) for filetype and creator.
    If you sent a file through Linux these resource forks probably got stripped and now the file is nothing to your Macintosh.
    It is best to BinHex your files (.hqx) before leaving the HFS file system so that their resource forks are preserved.
    Regards,
    Ryan

  • How do I type characters with tilde accent marks, specifically an "n"?

    How do I type characters with tilde accent marks, specifically an "n"?
    I've tried "OPTION N" with no luck... Using a font that supports it...

    For example, press Option+N and should see the tilde accent, then press the letter such as n

  • How encrypt msg with Public Key ?

    I want to encrypt my Session Key with the public key of the recipient but how can I do ?
    I know how to encrypt with the Secret Key but not with the Public Key.
    Thanks for response
    Nicolas

    It depends on the cryptosystem of which the public key you are having.
    If it is of RSA then you have to get the cipher of RSA and pass the session key bytes as input to it.

  • Howing greek characters with accents

    Hello everybody,
    I've an applet developed using swing where I've to show some greek text. The problem is that I can see the standard greek characters but I cannot see those characters with accents or spirits.
    The document that contains the text is a DefaultStyledDocument and, right now, I've configured it in this way:
    Style normal_style = this.addStyle("normal", null);
    StyleConstants.setFontFamily(normal_style, "lucida");
    this.setParagraphAttributes(0, 0, normal_style, false);
    I've used the lucida family since I've read that family is able to render the greek but any character with an accent is rendered with a small rectangle.
    I upload the text from a text file encoded using utf8. The example text is the following:
    Κύκλου τμήματος δοθέντος προσαναγράψαι τὸν κύκλον,οὗπέρ ἐστι τμῆμα.
    Ἔστω τὸ δοθὲν τμῆμα κύκλου τὸ ΑΒΓ· δεῖ δὴ τοῦ ΑΒΓ τμήματος προσαναγράψαι τὸν κύκλον, οὗπέρ ἐστι τμῆμα.
    Τετμήσθω γὰρ ἡ ΑΓ δίχα κατὰ τὸ Δ, καὶ ἤχθω ἀπὸ τοῦ Δ σημείου τῇ ΑΓ πρὸς ὀρθὰς ἡ ΔΒ, καὶ ἐπεζεύχθω ἡ ΑΒ· ἡ ὑπὸ ΑΒΔ γωνία ἄρα τῆς ὑπὸ ΒΑΔ ἤτοι μείζων ἐστὶν ἢ ἴση ἢ ἐλάττων.
    Also, when I save this text using my application my new saved file still contains the correct characters with the accent and all the stuff.
    The problems seems to be just the rendering in the application...
    Any idea?

    Hello everybody,
    I've an applet developed using swing where I've to show some greek text. The problem is that I can see the standard greek characters but I cannot see those characters with accents or spirits.
    The document that contains the text is a DefaultStyledDocument and, right now, I've configured it in this way:
    Style normal_style = this.addStyle("normal", null);
    StyleConstants.setFontFamily(normal_style, "lucida");
    this.setParagraphAttributes(0, 0, normal_style, false);
    I've used the lucida family since I've read that family is able to render the greek but any character with an accent is rendered with a small rectangle.
    I upload the text from a text file encoded using utf8. The example text is the following:
    Κύκλου τμήματος δοθέντος προσαναγράψαι τὸν κύκλον,οὗπέρ ἐστι τμῆμα.
    Ἔστω τὸ δοθὲν τμῆμα κύκλου τὸ ΑΒΓ· δεῖ δὴ τοῦ ΑΒΓ τμήματος προσαναγράψαι τὸν κύκλον, οὗπέρ ἐστι τμῆμα.
    Τετμήσθω γὰρ ἡ ΑΓ δίχα κατὰ τὸ Δ, καὶ ἤχθω ἀπὸ τοῦ Δ σημείου τῇ ΑΓ πρὸς ὀρθὰς ἡ ΔΒ, καὶ ἐπεζεύχθω ἡ ΑΒ· ἡ ὑπὸ ΑΒΔ γωνία ἄρα τῆς ὑπὸ ΒΑΔ ἤτοι μείζων ἐστὶν ἢ ἴση ἢ ἐλάττων.
    Also, when I save this text using my application my new saved file still contains the correct characters with the accent and all the stuff.
    The problems seems to be just the rendering in the application...
    Any idea?

  • Textfield which accepts multilingual characters with embedded fonts

    Hi all,
    I have a textfield where I can paste text from different languages with device fonts. Now, I want to input multi-ligual text with embedded fonts.
    I have embedded set of fonts, where I can input only english alphabets but not other languages.
    Is there a way to input any language characters with embedded fonts?
    Thank you.

    Thanks for your reply.
    I have embedded font as follows,
    [Embed(source="myfont.ttf", fontName='myfont', mimeType='application/x-font',embedAsCFF="false")]
    With this, I was able to apply this font for english.
    I have tried to paste " मैं कौन हूँ? " on a textfield. But I have not shown मैं कौन हूँ? text.
    And setting text programmatically did not work at all as
    textField.text = "मैं कौन हूँ?";
    If I do this with device fonts, every thing work fine but not with embedded fonts.
    Is there any thing wrong with my code while embedding font?

  • How can I print characters with accent using TEXT_IO?????

    I need to write characteres with accent, like ó,Á using TEXT_IO.....
    Please help me!!!!

    Francois:
    I try to use your solution but don't work....maybe is necessary setting something in the database or in the developer......
    I'm writing an xml format file, and the string that I need to write is:
    <Item Name="DUMMY" FontSize="1000" DirtyInfo="true" Height="16" MouseNavigate="false" XPosition="109" FontName="Arial" ForegroundColor="black" Width="64" YPosition="191" FontSpacing="Normal" Label="OK" FontWeight="Negrita" FontStyle="Normal" ItemType="Botón" CanvasName="WEBUTIL_CANVAS">

  • How to deal with Multilingual PCs?

    Here's a useful link.

    I am curious because the company I work for is extending sites into Canada, and some computers will be multi lingual but maybe in french. 
    If anyone else out there has an enterprise that covers multiple languages on their windows computers, my question is how do you deal with it from a support standpoint if you do not know the other language? Or is there some sort of software than can change the language if an English admin logs on? Or do you, just know where things are in windows, even if you cant read it? Or am I missing something.  
    Like I said this will be something new to me, and I don't expect to pick up too much of the French language anytime soon. Just wondering how others have dealt with that. 
    This topic first appeared in the Spiceworks Community

  • How pass ext characters to a stored proc by odbc when enable sqlserver syntax is on??

    how pass french characters or extended characters to a stored procedure by odbc
    error: ORA-01756: quoted string not properly terminated
    une chaine entre apostrophhes ne se termine pas correctement
    oracle Retrieving extended characters thru ODBC
    PL/SQL procedure parameters
    hi, i hope you can help to me.
    I have a problem with french and german characters.
    i have a little stored procedure than return what i'm passing to him.
    see these example: (the second one work fine on plsql)
    first exemple:
    1) i created a new odbc dsn
    2) i'm going into sqlserver migration tab to choose
    Enable Exac Syntax.
    3) i'm open Winsql (this is a odbc tools)
    http://www.indus-soft.com/winsql/
    4) i'm write
    exec ksp_test 0,'HiLLO ORACLE'
    i receive this error:
    Error: ORA-01756: quoted string not properly terminated
    (State:S1000, Native Code: 6DC)
    I trying to changed too the NLS_LANG in the registry
    like FRENCH_CANADA.WE8ISO8859P1
    French_France.WE8ISO8859P1
    but without any success..
    i got the same problem with
    oracle 9 database with utf8 characters set.
    oracle 8.1.7 with iso8859p1 characters set.
    i trying all latest odbc driver from oracle website.
    second exemple:
    SQL> variable mytest refcursor;
    SQL> exec ksp_test (0,'HiLLO ORACLE',:MYTEST);
    PL/SQL procedure successfully completed.
    SQL> PRINT MYTEST;
    Your Database Value
    HiLLO ORACLE
    CREATE OR REPLACE PACKAGE KSP_PLSQLRSETPKG
    AS
    TYPE RCT1 IS REF CURSOR;
    END;
    CREATE OR REPLACE PROCEDURE KSP_TEST (
    PATCH INT DEFAULT 0,
    PONC VARCHAR2,
    RC1 IN OUT KSP_PLSQLRSETPkg.RCT1
    AS
    BEGIN
    OPEN RC1 FOR
    SELECT PONC "Your Database Value" FROM DUAL;
    FROM DUAL;
    RETURN ;
    END;
    i'm trying also different nls setting but no good result.
    AMERICAN_AMERICA.US7ASCII
    AMERICAN_AMERICA.WE8MSWIN1252
    FRENCH_CANADA.WE8DEC
    FRENCH_CANADA.UTF8
    FRENCH_CANADA.WE8MSWIN1252
    FRENCH_FRANCE.WE8DEC
    FRENCH_FRANCE.UTF8
    FRENCH_FRANCE.WE8MSWIN1252
    is working well on sqlplus but not by odbc..
    also..
    i'm declare a variable and
    i set
    v_variable := 'id'
    and the procedure return the good syntax...
    i think is a odbc driver problem....
    the driver don't want to accept a extended characters set by a parameters coming from the procedure.
    can you confirm to me ..this is a major bug for the driver..
    my procedure is very basic to make a little test.
    did you try my procedure to be sure you have the same problem?
    i try with a oracle instance utf8,WE8MSWIN1252 and
    i got always the same problem.
    if i write insert into test values ('di');
    everything is fine...but when i call the procedure...
    the procedure don't want to accept any german..french or any extended characters...
    our application is working by odbc driver.
    i'm pretty sure is a bug in the driver ...the bug is coming only when i select "ENABLE EXEC SYNTAX" IN THE DSN (SQLSERVER MIGRATION SECTION) ... i try with Shema Database and Owner and Empty and i got
    always the same problem
    exec KSP_TEST 0,'TiEST'
    ------------------------>>>>>>>NOT WORKING.
    BUT IF I WRITE
    CALL KSP_TEST (0,'TiEST')
    ------------------------->>>>IS WORKING
    if i select enable exec or i unselect enable exec...
    the CALL KSP_TEST...... is always working properly.
    BETWEEN THESE SYNTAX THE NLS_LANG IS NEVER CHANGED....
    IS WORKING.....THE NLS_LANG IS GOOD.......because i make a little modification in procedure to be sure the INSERT IS inside the database CORRECTLY.
    CREATE OR REPLACE PROCEDURE KSP_TEST
    PATCH INT,
    PONC VARCHAR2
    AS
    v_test varchar2(100);
    BEGIN
    v_test := 'test';
    INSERT INTO YYY VALUES (PONC);
    END;

    If  "just using Crystal Reports XI R2" means using Crystal Report Viewer and do not want to see the prompt, please follow the below steps.
    1. Select the report you want to see
    2. Select "Process" tab
    3. Select Parameters menu under the process tab.
    4. You would see two date parameters there.
    Select the [Empty] value for each parameter and fill out the value you want.
    Hope this would help.

  • How to configure sso with SSL step by step

    Purpose
    In this document, you can learn how to configure SSO with SSL. After user have certificate installed in browser, he can login without input username and password.
    Overview
    In this document we will demonstrate:
    1.     How to configure OHS support SSL
    2.     How to Register SSO with SSL
    3.     Configure SSO for certificates
    Prerequisites
    Before start this document, you should have:
    1.     Oracle AS 10g infrastructure installed (10.1.2)
    2.     OCA installed
    Note:
    1.     “When you install Oracle infrastructure, please make sure you have select OCA.
    2.     How Certificate-Enabled Authentication Works:
    a.     The user tries to access a partner application.
    b.     The partner application redirects the user to the single sign-on server for authentication. As part of this redirection, the browser sends the user's certificate to the login URL of the server (2a). If it is able to verify the certificate, the server returns the user to the requested application.
    c.     The application delivers content. Users whose browsers are configured to prompt for a certificate-store password may only have to present this password once, depending upon how their browser is configured. If they log out and then attempt to access a partner application, the browser passes their certificate to the single sign-on server automatically. This means that they never really log out. To effectively log out, they must close the browser.
    Enable SSL on the Single Sign-On Middle Tier
    The following steps involve configuring the Oracle HTTP Server. Perform them on the single sign-on middle tier. In doing so, keep the following in mind:
    l     You must configure SSL on the computer where the single sign-on middle tier is running.
    l     You are configuring one-way SSL.
    l     You may enable SSL for simple network encryption; PKI authentication is not required. Note though that you must use a valid wallet and server certificate. The default wallet location is ORACLE_HOME/Apache/Apache/conf/ssl.wlt/default.
    1.     Back up the opmn.xml file, found at ORACLE_HOME/opmn/conf
    2.     In opmn.xml, change the value for the start-mode parameter to ssl-enabled. This parameter appears in boldface in the xml tag immediately following.
    <ias-component id="HTTP_Server">
    <process-type id="HTTP_Server" module-id="OHS">
    <module-data>
    <category id="start-parameters">
    <data id="start-mode" value="ssl-enabled"/>
    </category>
    </module-data>
    <process-set id="HTTP_Server" numprocs="1"/>
    </process-type>
    </ias-component>
    3.     Update the distributed cluster management database with the change: ORACLE_HOME/dcm/bin/dcmctl updateconfig -ct opmn
    4.     Reload the modified opmn configuration file:
    ORACLE_HOME/opmn/bin/opmnctl reload
    5.     Keep a non-SSL port active. The External Applications portlet communicates with the single sign-on server over a non-SSL port. The HTTP port is enabled by default. If you have not disabled the port, this step requires no action.
    6.     Apply the rule mod_rewrite to SSL configuration. This step involves modifying the ssl.conf file on the middle-tier computer. The file is at ORACLE_HOME/Apache/Apache/conf. Back up the file before editing it.
    Because the Oracle HTTP Server has to be available over both HTTP and HTTPS, the SSL host must be configured as a virtual host. Add the lines that follow to the SSL Virtual Hosts section of ssl.conf if they are not already there. These lines ensure that the single sign-on login module in OC4J_SECURITY is invoked when a user logs in to the SSL host.
    <VirtualHost ssl_host:port>
    RewriteEngine on
    RewriteOptions inherit
    </VirtualHost>
    Save and close the file.
    7.     Update the distributed cluster management database with the changes:
    ORACLE_HOME/dcm/bin/dcmctl updateconfig -ct ohs
    8.     Restart the Oracle HTTP Server:
    ORACLE_HOME/opmn/bin/opmnctl stopproc process-type=HTTP_Server
    ORACLE_HOME/opmn/bin/opmnctl startproc process-type=HTTP_Server
    9.     Verify that you have enabled the single sign-on middle tier for SSL by trying to access the OracleAS welcome page, using the format https://host:ssl_port.
    Reconfigure the Identity Management Infrastructure Database
    Change all references of http in single sign-on URLs to https within the identity management infrastructure database. When you change single sign-on URLs in the database, you must also change these URLs in the targets.xml file on the single sign-on middle tier. targets.xml is the configuration file for the various "targets" that Oracle Enterprise Manager monitors. One of these targets is OracleAS Single Sign-On.
    1.     Change Single Sign-On URLs
    Run the ssocfg script, taking care to enter the command on the computer where the single sign-on middle tier is located. Use the following syntax:
    UNIX:
    $ORACLE_HOME/sso/bin/ssocfg.sh protocol host ssl_port
    Windows:
    %ORACLE_HOME%\sso\bin\ssocfg.bat protocol host ssl_port
    In this case, protocol is https. (To change back to HTTP, use http.) The parameter host is the host name, or server name, of the Oracle HTTP listener for the single sign-on server.
    Here is an example:
    ssocfg.sh https login.acme.com 4443
    2. Restart OC4J_SECURITY instance and verify the configuration
    To determine the correct port number, examine the ssl.conf file. Port 4443 is the port number that the OracleAS installer assigns during installation.
    If you run ssocfg successfully, the script returns a status 0. To confirm that you were successful, restart the OC4J_SECURITY instance:
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
    Then try logging in to the single sign-on server at its SSL address:
    https://host:ssl_port/pls/orasso/
         3. Back up the file targets.xml:
    cp ORACLE_HOME/sysman/emd/targets.xml ORACLE_HOME/sysman/emd/targets.xml.backup
    4. Open the file and find the target type oracle_sso_server. Within this target type, locate and edit the three attributes that you passed to ssocfg:
    ·     HTTPMachine—the server host name
    ·     HTTPPort—the server port number
    ·     HTTPProtocol—the server protocol
    If, for example, you run ssocfg like this:
    ORACLE_HOME/sso/bin/ssocfg.sh http sso.mydomain.com:4443
    Update the three attributes this way:
    <Property NAME="HTTPMachine" VALUE="sso.mydomain.com"/>
    <Property NAME="HTTPPort" VALUE="4443"/>
    <Property NAME="HTTPProtocol" VALUE="HTTPS"/>
    5.Save and close the file.
    6.     Reload the OracleAS console:
         ORACLE_HOME/bin/emctl reload
    7. Issue these two commands:
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
    Registering mod_osso
    1.     This command sequence that follows shows a mod_osso instance being reregistered with the single sign-on server.
    $ORACLE_HOME/sso/bin/ssoreg.sh
         -oracle_home_path $ORACLE_HOME
         -config_mod_osso TRUE
         -mod_osso_url https://myhost.mydomain.com:4443
    2.     Restarting the Oracle HTTP Server
    After running ssoreg, restart the Oracle HTTP Server:
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server
    Configuring the Single Sign-On System for Certificates
    1.     Configure policy.properties with the Default Authentication Plugin
    Update the DefaultAuthLevel section of the policy.properties file with the correct authentication level for certificate sign-on. This file is at ORACLE_HOME/sso/conf. Set the default authentication level to this value:
    DefaultAuthLevel = MediumHighSecurity
    Then, in the Authentication plugins section, pair this authentication level with the default authentication plugin:
    MediumHighSecurity_AuthPlugin = oracle.security.sso.server.auth.SSOX509CertAuth
    2.     Restart the Single Sign-On Middle Tier
    After configuring the server, restart the middle tier:
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
    Bringing the SSO Users to OCA User Certificate Request URL
    The OCA server reduces the administrative and maintenance cost of provisioning a user certificate. The OCA server achieves this by authenticating users by using OracleAS SSO server authentication. All users who have an Oracle AS SSO server account can directly get a certificate by using the OCA user interface. This reduces the time normoally requidred to provision a certificate by a certificate authority.
    The URL for the SSO certificate Request is:
    https://<Oracle_HTTP_host>:<oca_ssl_port>/oca/sso_oca_link
    You can configure OCA to provide the user certificate request interface URL to SSO server for display whenever SSO is not using a sertificate to authenticate a user. After the OracleAS SSO server authenticates a user, it then display the OCA screen enabling that user to request a certificate.
    To link the OCA server to OracleAS SSO server, use the following command:
    ocactl linksso
    opmnctl stoproc type=oc4j instancename=oca
    opmnctl startproc type=oc4j instancename=oca
    You also can use ocactl unlinksso to unlink the OCA to SSO.

    I have read the SSO admin guide, and performed the steps for enabling SSL on the SSO, and followed the steps to configure mod_osso with virtual host on port 4443 as mentioned in the admin guide.
    The case now is that when I call my form (which is developed by forms developer suite 10g and deployed on the forms server which is SSO enabled) , it calls the SSO module on port 7777 using http (the default behaviour).
    on a URL that looks like this :
    http://myhostname:7777/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=.......
    and gives the error :
    ( Forbidden
    You don't have permisission to access /sso/auth on this server at port 7777)
    when I manually change the URL to :
    https://myhostname:4443/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=.......
    the SSO works correctly.
    The question is :
    How can I change this default behaviour and make it call SSO on port 4443 using https instead ?
    Any ideas ?
    Thanks in advance

  • How to encrypt the text in password field in Oracle Forms version 6i

    Need help!
    How to encrypt the text in password field in Oracle Forms version 6i?
    one way is to change the settings in the property palette. Can somebody provide me some script to be run while the form is running which will enable the password to be encrypted?
    Thanks!

    Hello,
    Do you mean "hidden" (replaced with stars) or encrypted (that needs to be decrypted ?
    Francois

Maybe you are looking for