RSA implementation basics ...

Hi,
Iam totally new to the Java Card programming. I want to find out how is RSA implemented. Now if I need to get some information from card (eg. serial number) and check the same. How do I implement the same using the Host and Smart Card.
Any light on the same would be appreciated. Also, if anyone has example of implementation of RSA between Host and Smart card would be appreciated (in Delphi and Java) ...
Thanks

Hi,
I have written a code based on a sample. The program has a client which accepts a string at frontend and sends the information to be encrypted at card, then writes the encrypted information to the card. To decrypt the same, there is an option at the frontend to read the string from card, so the program, gets the string from the card (in encrypted form), then sends the string to card decrypt the same. Iam getting an Techincal error (error 38) while decrypting. Can you please help? I need a solution immediately. I been trying to work on the same for last few days.
I have pasted the code below for reference. Appreciate if some one could respond quickly.
package rsa_encrypt_decrypt;
import javacard.framework.*;
import javacard.security.*;
import javacardx.crypto.Cipher;
Host Call:
iopCard.SendCardAPDU(0x00,0xAA,0x02,P2,iArray,iArray.length);
Card Applet:
public class RSAEncryptDecrypt extends javacard.framework.Applet
     // This applet is designed to respond to the following
     // class of instructions.
     final static byte GETSET_CLA = (byte) 0x85;
     final static byte CRYPT_CLA = (byte) 0x00;
     // Instruction set for SimpleString
     final static byte SET = (byte)0x10;
     final static byte GET = (byte)0x20;
     final static byte SELECT = (byte) 0xA4;
// This buffer contains the string data on the card
     byte TheBuffer[];     
     //globals
     RSAPrivateCrtKey rsa_PrivateCrtKey;
     RSAPublicKey rsa_PublicKey;
     KeyPair rsa_KeyPair;
     Cipher cipherRSA;
     final short dataOffset = (short) ISO7816.OFFSET_CDATA;
     //constructor
     private HandsonRSAEncryptDecrypt(byte bArray[], short bOffset, byte bLength)
     TheBuffer = new byte[100];
     //generate own rsa_keypair
rsa_KeyPair = new KeyPair( KeyPair.ALG_RSA_CRT, KeyBuilder.LENGTH_RSA_1024 );
rsa_KeyPair.genKeyPair();
          rsa_PublicKey = (RSAPublicKey) rsa_KeyPair.getPublic();
          rsa_PrivateCrtKey = (RSAPrivateCrtKey) rsa_KeyPair.getPrivate();
          cipherRSA = Cipher.getInstance(Cipher.ALG_RSA_PKCS1, false);
          register(bArray, (short) (bOffset + 1), bArray[bOffset]);
     //install
     public static void install(byte bArray[], short bOffset, byte bLength)
          new HandsonRSAEncryptDecrypt(bArray, bOffset, bLength);
     public void process(APDU apdu)
          if (selectingApplet())
               return;
          byte[] buf = apdu.getBuffer();
          byte cla = buf[ISO7816.OFFSET_CLA];
          byte ins = buf[ISO7816.OFFSET_INS];
          if ((buf[ISO7816.OFFSET_CLA] != 0) && (buf[ISO7816.OFFSET_CLA] != GETSET_CLA)) ISOException.throwIt (ISO7816.SW_CLA_NOT_SUPPORTED);
          if ((buf[ISO7816.OFFSET_INS] != (byte) (0xAA)) && (buf[ISO7816.OFFSET_INS] != (byte) (0x10)) && (buf[ISO7816.OFFSET_INS] != (byte) (0x20))) ISOException.throwIt (ISO7816.SW_INS_NOT_SUPPORTED);
          switch (cla)
               case GETSET_CLA:
                    switch (ins)
                         case SET:
                              SetString(apdu);
                              break;
                         case GET:
                              GetString(apdu);
                              break;
               case CRYPT_CLA:
                    switch (buf[ISO7816.OFFSET_P1])
                         case (byte) 0x01:
                              encryptRSA(apdu);
                              return;
                         case (byte) 0x02:
                              decryptRSA(apdu);
                              return;
     private void encryptRSA(APDU apdu)
          byte a[] = apdu.getBuffer();
          short byteRead = (short) (apdu.setIncomingAndReceive());
          cipherRSA.init(rsa_PrivateCrtKey, Cipher.MODE_ENCRYPT);
          short cyphertext = cipherRSA.doFinal(a, (short) dataOffset, byteRead, a, (short) dataOffset);
          // Send results
          apdu.setOutgoing();
          apdu.setOutgoingLength((short) cyphertext);
          apdu.sendBytesLong(a, (short) dataOffset, (short) cyphertext);
          //SetString(apdu);
     private void decryptRSA(APDU apdu)
          byte a[] = apdu.getBuffer();
          short byteRead = (short) (apdu.setIncomingAndReceive());
          cipherRSA.init(rsa_PublicKey, Cipher.MODE_DECRYPT);
          cipherRSA.doFinal(a, (short) dataOffset, byteRead, a, (short) dataOffset);
          // Send results
          apdu.setOutgoing();
          apdu.setOutgoingLength((short) 24);
          apdu.sendBytesLong(a, (short) dataOffset, (short) 24);
     // SetString stores the string on the card.
     private void SetString(APDU apdu) {
          byte buffer[] = apdu.getBuffer();
          byte size = (byte)(apdu.setIncomingAndReceive());
          byte index;
          // Store the length of the string and the string itself
          TheBuffer[0] = size;
          for (index = 0; index < size; index++)
               TheBuffer[(byte)(index + 1)] = buffer[(byte)(ISO7816.OFFSET_CDATA + index)];
          return;
     //     1. Client sends a GetString APDU with a length of 0
     //     2. Card responds with a Status Word of 0x62YY, where YY is the length
     //          of the string (in hex).
     //     3. The client sends its GetString APDU again, but this time with the
     //          correct length.
     private void GetString(APDU apdu) {
          byte buffer[] = apdu.getBuffer();
          byte numBytes = buffer[ISO7816.OFFSET_LC];
          if (numBytes == (byte)0) {
               ISOException.throwIt((short)(0x6200 + TheBuffer[0]));
          apdu.setOutgoing();
          apdu.setOutgoingLength(numBytes);
          byte index;
          for (index = 0; index <= numBytes; index++)
               buffer[index] = TheBuffer[(byte)(index + 1)];
          apdu.sendBytes((short)0,(short)numBytes);
          return;
}

Similar Messages

  • Flex security - RSA implementation?

    Hi all,
    i am developing a client server app, the client is a flex app that communicate with a php server with amf protocol.
    I need some security so i think some possible solution:
    1. using https, but with any "web debugging proxy" anyone can decrypt ssl, so this is not a solution
    2. using an rsa implementation, so if someone read the traffic it wont be a problem, but if someone
         deassemble flex client, can access to the client private key and then the security will go away
    Is there some stuff to securize the communication?
    Thank you

    Hi,
    For security purposes, you would store the private key in the card and perform all private key operations there. One approach could be to store a certificate and the corresponding private key in a java card applet and then retrieve the certificate from the card. You could then send a random number (nonce) to the card and ask it to sign the number. The host application can then verify the signature with the public key in the certificate. The host could also verify the certificate against a certificate authority or a known trust chain.
    The hard part is that you will need to implement this in the applet yourself. You can define a set of APDU's that you could send to the card for specific responses. For instance one command to get the certificate and another to sign some arbitrary data. You would also want a way of injecting the keys (this is the simple less secure approach though).
    With certificates you can use the cryptographic properties to verify that you trust the card and if you do not receive a trusted certificate the program can terminate. Also if the signature is not verified then you could exit as well as the card has not proven ownership of the private key.
    Cheers,
    Shane

  • Light Weight JCE Provider with RSA implementation

    Hi all,
    I'm working on an applet that requires RSA encryption, but I have size constraints so I canno tuse the BouncyCastle provider (891 KBs)
    Does anyone know where to find a light weight JCE provider with an implementation of RSA, I've been searching for a while but without any luck!
    Thank you in advance

    You can use the lw-apis from BC and drop the JCE part. The JCE for BC is just a facade to the lw-apis anyway. And if you use the lw-apis you don't have to worry about any signing issues with the applet.
    Cheers,
    --- jon

  • Lightweight RSA implementation (lighter than BouncyCastle)?

    I wonder if by chance there is a more lightweight implementation of RSA for MIDP than the one provided by BouncyCastle? I managed to use the BouncyCastle classes, but RSA+AES encryption together make up for more than 16KB of the jar-File. The bulk of it seems to stem from the BigInteger class. Perhaps by implementing only the operations that are relevant to RSA it would be possible to arrive at a shorter solution?
    If anybody knows of a smaller implementation, it would be great to hear about it!
    Many thanks in advance!

    I've done this helping another ThoughtWorker migrate from Cryptix to BC. It's not an easy task, especially seeing that Cryptix did some really "non-standard" stuff early on.
    It does work (or at least I believe it does work, as I haven't been asked for assistance recently ;-) ), and you should be able to just convert the keys by using the bits you need.
    The other thing that's worth being careful about is that the Cryptix code allowed data encrypted with the RSA keys to be of any mode, including some really busted padding called "ZerosAndOnes". (Don't ask, it's too stupid for words).
    Make sure your encrypted data can be successfully decrypted, and what the various modes are, because if you convert all your code, then you might have difficulties later on trying to decrypt it.
    The first thing I did was to create some code that was a compatibility mode and used the light-weight API's to deal with the transformations. After all the Cryptix code has been removed, it will be a trivial matter to implement the bits that are really needed using the JCE code (if desired).
    Why use the lw-api ? Well, I needed to create a new padding, and doing that with the JCE (and then resigning it) was going to be a real pain. And, all the JCE code uses the LW code underneath anyway, so I knew there wasn't going to be a compatibility problem.
    So, after all that waffle, it should work, but just watch out for how people used the Cryptix RSA keys for encrypting the data. Cryptix didn't check if people were doing dumb things, and that may be the case.
    Cheers,
    -- jon

  • RSA Implementation for SunJCE Provider

    Hello there!
    I just would like to inquire if there are plans/news for the sun developers to include the RSA Algorithm as part of the cryptographic services available in the pre-installed SunJCE Provider? If so, when?
    Thanks.
    Regards,
    Ronron

    Which RSA algorithm are you looking for? BTW Sun has 4
    JCE providers: SUN, SunJCE, SunRsaSign, SunJSSE.I am referring to the SunJCE Provider, which is
    already included in the latest Java 2 SDK, v 1.4
    release. Those 4 providers are from JDK 1.4
    I am looking for the RSA Algorithm for
    encryption/decryption of data. Because I believe that
    it would be very helpful when the SunJCE would include
    the implementation of that algorithm since the
    provider had been pre-installed in the latest Java 2
    SDK.
    Do you have any idea?I believe they still don't want to have any issues with US export restrictions, especially with that little case when someone need to use RSA encryption. So, they let you to use any 3rd part JCE provider. And there is such a good one for free. Look at the BouncyCastle.

  • How to Implement basic Insert ,Update and delete Actions

    Hi all,
              i want to implement 1)INSERT 2)UPDATE 3)DELETE actions in webdynpro application means i have to add a new record to my R/3 backend and update and delete records from my database
    can anyone tell me how to do these actions
    Regards
    Padma N

    Hi Murtuza ,
                           I have 2 views in my application.In the first view i enterd some purchaseorder number and clicked serarch button.The items regarding that purchaseorder gets populated in the table which is in second view.All the data is in R/3 backend system.
    the code i used to get the details of that particular purchaseorder is
    try {
    wdcontext.currentZ_Matrls_For_Inputlement().modelObiect.execte();
    catch(RFCException e){
    /* Catch the Exception Here */
    Here now i want to delete one record of that particular purchaseorder from the database.So Wat should be the code to delete record from R/3 Model
    Regards
    Padma N

  • How implement basic Authentication in OSB

    I have created a Business service. In the Transport Configuration, I have given the protocol as http and the end point URI as ‘http://localhost:7001/SampleCallAuthentication_Ps’ which is a proxy service.
    In HTTP Transport Configuration, I am giving the authentication as ‘Basic’. And also giving the service account from where the username password should be selected. Is the configuration completed.?
    Please guide me on this. Am I doing the correct way. And how to test the authentication in the Test console. I think in test console we need to give the username password under ‘Transport’. But do I need to add User Headers.
    Could you please give me an idea of what is the use of End point URI in business service and User Headers in sbconsole.
    Thanks.

    Thanks a lot...
    But I am not getting it done properly. I will explain you my scenario clearly. please help me out.
    I have created a BS called 'Authentication_BS' and end point URI as http://localhost:7001/AuthenticationTryout/SampleFile_BS which is another proxy service. And I have also given the same steps for authentication as I told earlier. And the SampleFile_BS which is the end uri for the first BS service, is configured to write the data to a folder. But in the test console of the 'Authentication_BS', it is showing some error:
    The error detials are:
    Request Document
    <p:empElement xsi:schemaLocation="http://www.example.org SampleTryOut.xsd " xmlns:p="http://www.example.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <p:Name>Aaaaa</p:Name>
    <p:ENumber>1100</p:ENumber>
    </p:empElement>
    Response Document
    The invocation resulted in an error: Not Found.
    Response Metadata
    <con:metadata xmlns:con="http://www.bea.com/wli/sb/test/config">
    <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:user-header name="X-Powered-By" value="Servlet/2.5 JSP/2.1"/>
    <http:Connection>close</http:Connection>
    <http:Content-Length>1214</http:Content-Length>
    <http:Content-Type>text/html</http:Content-Type>
    <http:Date>Mon, 16 Mar 2009 05:31:26 GMT</http:Date>
    </tran:headers>
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">3</tran:response-code>
    <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">Not Found</tran:response-message>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">iso-8859-1</tran:encoding>
    <http:http-response-code xmlns:http="http://www.bea.com/wli/sb/transports/http">404</http:http-response-code>
    </con:metadata>
    Could you please help me on this.

  • ACE - need help implementing basic parameter map

    Hi,
    I'm trying to implement a connection parameter on an ACE module that sumply sets the TCP timeout to 0.
    I can get this to work fine if I permit all TCP traffic in the class-map, but it doesn't work if I use an ACL;
    >>Match all TCP;
    parameter-map type connection TCP-Timeout
    set timeout inactivity 0
    class-map match-all TCP-Timeout-Out-Class
    2 match port tcp any
    class-map match-all TCP-Timeout-in-Class
    2 match port tcp any
    policy-map multi-match TCP-Timeout-Out-Policy
    class TCP-Timeout-Out-Class
    connection advanced-options TCP-Timeout
    policy-map multi-match TCP-Timeout-in-Policy
    class TCP-Timeout-in-Class
    connection advanced-options TCP-Timeout
    Interface vlan 920
    service-policy input TCP-Timeout-in-Policy
    Interface vlan 923
    service-policy input TCP-Timeout-Out-Policy
    >>Match ACL;
    access-list TCP-Timeout-Group-Out line 10 extended permit ip 10.221.178.0 0.0.0.255 any
    access-list TCP-Timeout-Group-in line 10 extended permit ip any 10.221.178.0 0.0.0.255
    parameter-map type connection TCP-Timeout
    set timeout inactivity 0
    class-map match-all TCP-Timeout-Out-Class
    match access-list TCP-Timeout-Group-Out
    class-map match-all TCP-Timeout-in-Class
    match access-list TCP-Timeout-Group-in
    policy-map multi-match TCP-Timeout-Out-Policy
    class TCP-Timeout-Out-Class
    connection advanced-options TCP-Timeout
    policy-map multi-match TCP-Timeout-in-Policy
    class TCP-Timeout-in-Class
    connection advanced-options TCP-Timeout
    Interface vlan 320
    service-policy input TCP-Timeout-in-Policy
    Interface vlan 323
    service-policy input TCP-Timeout-Out-Policy
    Any ideas?
    Many Thanks

    Try changing the class-map from "type match-all" to "type match-any". Match all implies both statments need to be true. The match-any is probably what you want. Either of the ACL statements can be true.
    Also try to apply the policy globally instead of the interfaces, simplifying the config might help as well.
    e.g.:
    access-list TCP-Timeout-Group line 10 extended permit ip 10.221.178.0 0.0.0.255 any
    access-list TCP-Timeout-Group line 20 extended permit ip any 10.221.178.0 0.0.0.255
    class-map match-any TCP-Timeout-Class
    match access-list TCP-Timeout-Group
    parameter-map type connection TCP-Parameter-Map
    set timeout inactivity 0
    policy-map multi-match TCP-Timeout-Out-Policy
    class TCP-Timeout-Out-Class
    connection advanced-options TCP-Parameter-Map
    service policy input TCP-Timeout-Out-Policy <- apply it globally
    Hope it helps.
    Roble

  • How do you implement basic text markup for content? H1, H2, ul, ol etc?

    Title says it all really - am I missing something?

    Thanks for that, I think I've misunderstood who the software is for?
    I'll post to the features area but if nobody was thinking about content markup during development and testing of the software, I'm not sure anyone is going to appreciate it!
    Even print designers (I have 20+ years in print and 8+ years coding) understand the importance of styles in InDesign so I'm not sure what's gained by hiding such a fundamental aspect to the internet. We're finding that our role is more about content design and less about "Website Design" per se.
    e.g. if you hid all the content on the Apple site, all you'd left with would be a bunch of lines, and light gradients - and that's true for most sites. Content truly is king.

  • Compability problem with Java and Python  RSA algorithm implementation

    I have client server application. Server is writtein in python, client in java. Client receives messages from server encrypted with RSA (http://stuvel.eu/rsa), and I'm unable to decrypt it. It seems that this is RSA algorithm compatibility problem. I'm using algorithm from java.security package, instatinating Cipher object like this: c = Cipher.getInstance("RSA"); . I noticed that this algorithm produces for input blocks of lengtrh <=117 ouput block of length 128. Server I guess uses the most triviall impelentation of RSA ( (1 byte is encrypted to 1 byte) So i want to make my java algorithm compatibile with this one which server uses. How to do that ? Do i have to instatinate Cipher object in different way ? Or use another library ?

    azedor wrote:
    First you said it was no good because it could only handle <= 117 byte inputs, now you say it is no good because it produces a 128-byte output. You're not making sense.First i said that this two RSA implementations are not compatibile, and first reason i noticed firstly is that Python imlementation for input of length N produces cryptogram of the same length. Not true. In general, the RSA encryption of any number of bytes less than the length of the modulus will produce a result of length near that of the modulus. When N is less than the length of the modulus, it is rare that N bytes of cleartext produces N bytes of ciphertext.
    Java implementation for data block of length <=117 produces alwasy 128 bytes of output.Pretty much correct and very much desirable. This is primarily a function of the PKCS1 padding which is used to solve two basic problems. First, as I alluded to in my first response, it is the nature of the algorithm that leading zeros are not preserved and second when the cleartext is very small (a few bytes) the exponentiation does not roll over and it is easy to decrypt the result. Both these problems are addressed by PKCS1 padding.
    >
    >
    After what sabre150 said i think of giving up idea of translating Python code to Java and considering to use another assymetric cryptography algorithms on both sides. Can you recommend me sth what should be compatibile with Python ?This seems to be at odds with your statement in reply #3 "Also have acces only to client code so i have to change sth in java." ! This statement is why I said "I suspect ... you have dug a deep hole".
    In your position I would use the Python bindings for openssl. Once more, Google is your friend.

  • Web - What is easiest way to implement User Security and User Profiles

    Hi, I am new to these forums and kind of new to Java. Sorry if this is in the wrong forum!
    Bit of background to my experience with java
    I have been playing about with java for a number of years and have created a few basic programs such as a screen shot tool that allows you to capture to default locations and look at previews first etc. I am now venturing into web related stuff. I work in IT doing systems testing and have done bits of basic development on various things.
    What I've done so far
    I am using Netbeans IDE 6.7 and MySQL 5.0
    I am trying to learn more complex java and have decided to try build a basic web / database system that basically implements adding / amending / deleting data from a MySQL database through web pages. I am now trying to implement basic user access and profiles. I have so far got the following:
    - MySQL table with user info - username / password
    - JSP page with usual login stuff
    - Servlet that validates the username and password - if correct forwards to main menu page.
    Its as simple as that - there is nothing stopping you just typing in the URL of the main menu page and going from there.
    What I want
    I am wanting to eventually get the following:
    - User authentication so that you have to logon before you can access anything else
    - User profiles that determine what each user can or can't do, restricting the pages / services / options available (i.e. normal user can't delete etc)
    - Would it need some sort of session manager to allow multiple users etc?
    I appreciate this is a fairly open question but what is the easiest way to start implementing this? Not after specific code as I would prefer to try figger things out myself, but a point in the right direction would be great. It doesn't have to be extremely secure as this is just for me at the minute.
    I have spent all day looking at things like session data / url rewriting / security settings in web.xml / bespoke servlets and am now in java overload!

    Hi everyone,
    I've now actually gone back to the tutorial that I linked to above and implemented that using form login and j_security_check.
    Agree with Saish, and although I don't know enough about the other options to give a good reason, using realms and j_security_check just seems to be a bit cluncky and messy. I would also prefer something a bit more generic, that doesn't rely on setting users in glassfish, hence why I started with my own user table.
    Anyway, I will leave it as is for now and maybe come back and try one of the other options.
    The only problem I can see now is that to add users i will need to go through all the steps of adding users in glassfish and web.xml... Is there a way to do this through a servlet or something so I can have a jsp page to add users that also creats all the other bits for it to work?
    Thanks everyone for your help

  • Simple RSA decryption error

    Hi All
    I am trying a very simple RSA implementations. I am not able to decrypt the data correctly. Please find my code below,
    import java.math.BigInteger;
    import java.util.Random;
    public class SimpleRSA {
         public static BigInteger p, q, N, v, k, d;
         public static void main(String[] args) {
              // p & q are prime numbers
              Random myRandom = new Random(0);
              p = BigInteger.probablePrime(32, myRandom);
              q = BigInteger.probablePrime(32, myRandom);
              System.out.println("Value of p:" + p);
              System.out.println("Value of q:" + q);
              // N = pq
              N = p.multiply(q);
              System.out.println("Value of N:" + N);
              // v = (p-1)*(q-1)
              v =
                   (p.subtract(BigInteger.valueOf(1))).multiply(
                        q.subtract(BigInteger.valueOf(1)));
              System.out.println("Value of v:" + v);
              // Compute k such that gcd(k, v) = 1
              k = new BigInteger("3");
              while(v.gcd(k).intValue() > 1) k = k.add(new BigInteger("2"));
              System.out.println("Value of k:" + k);
              // Compute d such that (d * k)%v = 1
              d = k.modInverse(v);
              System.out.println("Value of d:" + d);
              System.out.println("Public Key (k,N): (" + k + "," + N + ")");
              System.out.println("Private Key (d,N): (" + d + "," + N + ")");
              // Encryption
              String text = "Welcome to Java";
              System.out.println("Sample text:" + text);
              byte[] cipherData = text.getBytes();
              BigInteger a = new BigInteger(cipherData);
              System.out.println("BigInteger a:" + a);          
              BigInteger b = a.modPow(k, N);
              System.out.println("Encrypted data:" + b);
              // Decryption
              BigInteger c = b.modPow(d, N);
              byte[] decryptedData = c.toByteArray();          
              String plainText = new String(decryptedData);
              System.out.println("Decrypted data:" + plainText);     
    The answer I am getting is like this
    Value of p:3139482721
    Value of q:3180579707
    Value of N:9985375032889742747
    Value of v:9985375026569680320
    Value of k:7
    Value of d:4279446439958434423
    Public Key (k,N): (7,9985375032889742747)
    Private Key (d,N): (4279446439958434423,9985375032889742747)
    Sample text:Welcome to Java
    BigInteger a:1446156601937412646258
    Encrypted data:9678387382297663676
    Decrypted data:r��`�>B[/i]
    Please help me in this regard.
    Regards
    Kathirvel

    "m" (the integer rep of the message) must be strictly less than "N" (p*q). Look at the output - your p and q are too small for your data. Tryp = BigInteger.probablePrime(512, myRandom);
    q = BigInteger.probablePrime(512, myRandom);and try again.
    Then, go back and re-read the description of the RSA algorithm:
    http://en.wikipedia.org/wiki/RSA
    ("Applied Cryptography" would be bettr - but Wikipedia is at least a good start...)
    Grant

  • Doubt in implementing OWSM policy in osb 11g

    Hi,
    Can anybody tell me how to implement basic username-token policy in wsdl based paroxy service in osb 11 G.
    I am able to select service policy configuartion from the policies tab of proxy service in sb console,but after that i can not find any OWSM policy there to add.Pls assist me

    have you run rcu to create mds storage for the policies?
    and after that you run the configuration wizard to expand your domain with "Oracle Service Bus OWSM Extension" ?

  • Implementing authentication for web services

    Hi all,
    I'm struggling trying to guess how to implement basic HTTP authentication as well as using certificates in order to apply HTTPS, for some web services we've created, running on the Oracle Application Server 10.1.12. The web services were implemented using JDeveloper 9.0.4. Any help would be very appreciated.
    Thanks in advanced and regards,
    Luis

    Hi,
    But, I need to develop the web services logon method using WSDL which generated the LogonBindingImpl.java, instead of web services using EJB bean.
    Besides, the Web Service logon method (LogonBindingImpl.java) need to accept the input user name and password to check with the user name and password that stored in database table through the EJB bean. If checking successful, client program is allowed to invoke other WebServices method, else login failed exception need to be thrown when client calling other web services methods.
    Appreciate the advice here on how to achieve that. Thanks.

  • SAP CRM Implementation Process

    Hi Guy's,
    I am kind of new to SAP CRM... I am in the process of finding as much information as possible regarding SAP CRM. I have a general question (show below) regarding CRM Implementation... I am hoping to get an answer from you....
    Q: If any Company chooses to implement SAP CRM in 2 or more phases.... then which functionalities (Ex: in Marketing, Sales and CIC) the company would implement in the 1st phase and what are the other functionalities he would like to implement in the next phases?
    Let me know if the question is not clear enough....
    I really appreciate, if you could explain in detail.....
    Thanks in advance...
    Sreen

    Hi Sreen,
    In the case of Sales / ICWC you could start with basic order entry. This would be phase 1.
    In phase 2 you could add extended fact sheet, sales contracts, case management, and scripting functionalities. If you decide to include Marketing, then this phase could for example include free goods.
    Phase 3 would consist of extended marketing functionality: full segmentation of BPs according to multiple marketing attributes; marketing calendar/plan and campaigns.
    Phase 1 alternative: Leave ICWC for phase 2 and only implement basic sales functionality in phase 1. In that case you would do order entry via CRMD_ORDER and not via ICWC. Phase 2 would then included (basic) ICWC functionality.
    Of course the demands and requirements of your customer would be leading in deciding the phasing of your project.
    Kind regards,
    KZ
    <u>p.s. please award points if useful.</u>

Maybe you are looking for