Encryption in JMF

I'm writing a program for streaming video using RTP. Part of it involves encryption. The AVTransmit2 program provided at http://java.sun.com/products/java-media/jmf/2.1.1/solutions/AVTransmit2.java seems to suit the purpose as far as the streaming part is concerned. Can anyone provide any suggestions as to how I can incorporate encryption into the program? Thanks.

How exactly are you wanting to encrpyt the video?
Are you wanting to do something like apply an encryption codec?
[http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/FrameAccess.html]
Or are you wanting to encrypt the data in the RTP packets that transmit the video chunks over the internet?
[http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/RTPConnector.html]
Answer the question by looking at the associated example code I've provided, and if you need any further assistance, just ask ;-)

Similar Messages

  • JMF and audio encryption

    Hello,
    I have successfully compiled and run a JMF program to transmit/receive RTP streams by re-using example programs in the API guide.
    I am fairly new in this area. I would like to figure out how audio encryption works. Can someone point me to somewhere where I can give a head start on this? I guess first thing I want to understand what is the general approach to the encryption in RTP. Do I have to create a custom AudioFormat so that only my program play it?
    Or is it possible to encrypt the default packets using some key and encryption algorithm? The picture in my mind is that once audio is captured and ready to be transmitted over, I would like call some method which encrypts the packets and hence once receiver receives the packets, it first decrypts the packets and then does whatever it supposed to do..
    Any help, pointer, example code is appreciated.
    Thanks!

    Thanks for the answer.
    Looking at the example at the link you provided, AVTransmit3.java is pretty similar to what I have in the program.
    As far I can see write() method, in RTPSocketAdapter.java, does the actual data transfer in this example. However, in my program, start() in AVTransmit.java is called do start the tranmission. In start () method, processor.start() is called. Here is the code for that:
         * Starts the transmission. Returns null if transmission started ok.
         * Otherwise it returns a string with the reason why the setup failed.
        public synchronized String start() {
            String result;
            // Create a processor for the specified media locator
            // and program it to output JPEG/RTP
            result = createProcessor();
            if (result != null)
                return result;
            // Create an RTP session to transmit the output of the
            // processor to the specified IP address and port no.
            result = createTransmitter();
            if (result != null) {
                processor.close();
                processor = null;
                return result;
            // Start the transmission
            processor.start();
            return null;
        }Could I do what I want in a simple way without using sockets? Could I modify createTransmitter() to achieve this?
    Would it be possible to encrypt dataOutput before caaling createSendStream? Or does it not even make sense?
    sendStream = rtpMgrs.createSendStream(dataOutput, i);
        private String createTransmitter() {
            // Cheated.  Should have checked the type.
            PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
            PushBufferStream pbss[] = pbds.getStreams();
            rtpMgrs = new SessionManager[pbss.length];
            SessionAddress localAddr, destAddr;
            InetAddress ipAddr;
            SendStream sendStream;
            int port;
            SourceDescription srcDesList[];
            for (int i = 0; i < pbss.length; i++) {
                try {
                    rtpMgrs[i] = new RTPSessionMgr();          
                    srcDesList = new SourceDescription[] {
                        new SourceDescription(
                                            SourceDescription.SOURCE_DESC_EMAIL,
                                            "[email protected]",
                                            1,
                                            false),
                        new  SourceDescription(SourceDescription.SOURCE_DESC_CNAME,
                                            rtpMgrs.generateCNAME(),
    1,
    false),
    new SourceDescription(SourceDescription.SOURCE_DESC_TOOL,
    "JMF RTP Player v2.0",
    1,
    false),
    localAddr = new SessionAddress();
    port = portBase + 2*i;
    ipAddr = InetAddress.getByName(ipAddress);
    destAddr = new SessionAddress(ipAddr, port,
    ipAddr, port + 1);
    rtpMgrs[i].initSession(localAddr, srcDesList, 0.05, 0.25);
    rtpMgrs[i].startSession(destAddr, 1, null);
    temp = "Started transmission channel at " + ipAddress + " " + port + "\n";
    MyApp.DisplayMess(temp);
    //System.err.println("Created RTP session: " + ipAddress + " " + port);
    sendStream = rtpMgrs[i].createSendStream(dataOutput, i);
    sendStream.start();
    } catch (Exception e) {
    return e.getMessage();
    Thanks very much again!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to encrypt the media data which obtained from JMF?

    hi ,everybody,
    I am a new here, and my group is busy at SIP phone program,and we hava got some problems several days ago.
    we created the DataSource by processor,and we want to encrypt the data before send them out,is there anyone can tell me what should we do?
    please help.
    thanks.

    There are lots and lots of traps you can fall into when talking about encryption of data. I don't have a clue what a SIP phone is but assuming that your program is Java based then you need to do a lot of background reading. A good starting point is "Beginning Cryptography with Java" by David Hook published by Wrox.

  • Trying to encrypt RTP audio stream

    I'm trying to encrypt audio (after compression) on the transmitter side and decrypt it on the receiving side.
    I tried making a wrapper around the PushBufferDataSource at both ends (provided by the processor and the RTPManager), which also wraps PushBufferStream. This sort-of works, I can use a java.nio.ByteBuffer to flip the bytes around in the javax.media.Buffer i'm reading from, and I can do a simple character swapping cipher. But, when it fails when I try to use AES, either because blocks aren't 16 bytes long, or once, I fixed that, the player trys reading too far ahead.
    Second, I've tried the custom packetizer and depacketizer provided on the JMF solutions page. It does play, and I assume I need to put my encryption code in the process() method. But, that method never seems to be called.
    I know the constructor is called, but process() never is, thus my encryption code is never run.
    Can someone help with any of these problems???
    (PS: Please send example code b/c its easier for me to understand)

    I have just managed to solve this problem.
    Thanks

  • How to use a buffer as a DataSource in JMF

    I have an encrypted media file and I want to decrypt it on the fly and play it using JMF. I do not want a new decrypted file to be created but read the file in a buffer, decrypt it and have JMF play it. Is that possible through JMF. Any ideas are acceptable. Thanks. Kostas.

    Thanks for your help. I have used a different approach now (after more google-ing). I Now decrypt the file to a Stream and use that to create a datasource.
    The code example of creating a datasource from a stream is here (thanks Chad)
    http://www.tek-tips.com/gviewthread.cfm/pid/785/qid/288487

  • Compressed Codec Expanding when Encrypted or Run by an Effect

    I'm working on a fun project encrypting video and audio and that part all works fine. Ran into a small problem while I was at it. For some reason the File Expands when I run it into the Encyptor. Now this isn't really the increased overhead from the encryption but rather the file format has changed. For Example
    Divx at 570kbps with a 50Meg file becomes
    Divx at 1841kbps with a 165 Meg file
    This is slightly 3 times larger then what it should have become.
    Now since there isn't a standard Divx Decoder in JMF I changed my formates to MJPG just to check. It had a similar effect so I take it since both were compressed the reason for the size change is the compression jumped to the highest factor giving it lossless instead of lossy compression.
    Now with audio using MPEGAUDIO or mpeglayer3 the size change is marginal. No more then .1 meg for ever 1.5 megs. That is more of what I would expect from the Encryption Effect.
    Now I am running this as an Effect and I believe that the format coming in the inputBuffer is what is bloated because if it bloated after my Encyption I believe it would be impossable to recover the data with my decryptor.
    Also if I enctypt and decrypte again on the newly encoded files it does not get larger. It stays at the 1841kbps size which makes me believe it's a default setting that maybe able to be changed. Same goes for the MJPG.
    Any thoughts or ideas on how to fix this one will be welcome. I hope I've covered what my problem is properly.
    The code is pretty much just a skeleton Effect that uses JCE to encrypt the incoming bytes and set them to the outgoing bytes. If it's needed I'll clean it up and post it so it looks pretty but otherwise it's pretty basic I dont think the codes doing enough. I would certainly hope I'd know if I sliped in a set_kbps_to(int) command some were.

    I'm working on a fun project encrypting video and audio and that part all works fine. Ran into a small problem while I was at it. For some reason the File Expands when I run it into the Encyptor. Now this isn't really the increased overhead from the encryption but rather the file format has changed. For Example
    Divx at 570kbps with a 50Meg file becomes
    Divx at 1841kbps with a 165 Meg file
    This is slightly 3 times larger then what it should have become.
    Now since there isn't a standard Divx Decoder in JMF I changed my formates to MJPG just to check. It had a similar effect so I take it since both were compressed the reason for the size change is the compression jumped to the highest factor giving it lossless instead of lossy compression.
    Now with audio using MPEGAUDIO or mpeglayer3 the size change is marginal. No more then .1 meg for ever 1.5 megs. That is more of what I would expect from the Encryption Effect.
    Now I am running this as an Effect and I believe that the format coming in the inputBuffer is what is bloated because if it bloated after my Encyption I believe it would be impossable to recover the data with my decryptor.
    Also if I enctypt and decrypte again on the newly encoded files it does not get larger. It stays at the 1841kbps size which makes me believe it's a default setting that maybe able to be changed. Same goes for the MJPG.
    Any thoughts or ideas on how to fix this one will be welcome. I hope I've covered what my problem is properly.
    The code is pretty much just a skeleton Effect that uses JCE to encrypt the incoming bytes and set them to the outgoing bytes. If it's needed I'll clean it up and post it so it looks pretty but otherwise it's pretty basic I dont think the codes doing enough. I would certainly hope I'd know if I sliped in a set_kbps_to(int) command some were.

  • Could JMF and FrameAcess do these jobs? Plz help, Thanks a lot!

    I have an encrypted video, every frame is encrypted. Could JMF decrypt this video and play it during the decryption? Could The sun example FrameAccess.java read encrypted information on each frame of video?
    I am new, please help, Thanks a lot!!!
    Edited by: attarwang on Dec 9, 2008 11:05 PM
    Edited by: attarwang on Dec 9, 2008 11:29 PM

    thanks againIII
    I have study the function "process", but it is too hard to me. could you give some tips?
    how to get every frames of the video and modified the data of a frame and play it ?
    use the following code?how?
    public int process(Buffer in, Buffer out) {
                   // This is the "Callback" to access individual frames.
                   accessFrame(in);
                   // Swap the data between the input & output.
                   Object data = in.getData();
                   in.setData(out.getData());
                   out.setData(data);
                   // Copy the input attributes to the output
                   out.setFormat(in.getFormat());
                   out.setLength(in.getLength());
                   out.setOffset(in.getOffset());
                   return BUFFER_PROCESSED_OK;
              }

  • JMF issues for video conferencing

    I've have been playing with JMF for a few weeks now, trying different things, specifically creating a video conference app, like everybody else here.
    I've noticed several weird issues, and was hoping somebody could provide feedback on them;
    1) when setting the format for the tracks on a transmitting processor, I get a Class Cast Exception:
    TrackControl track[] = processor.getTrackControls();
    FormatControl fc = null;
    for (int i=0; i < track.length; i++) {
    if (!retval && track[i] instanceof FormatControl) {
    try {
    fc = (FormatControl) track.setFormat(new VideoFormat(VideoFormat.JPEG_RTP));
    retval = true;
    } catch (Exception e) {
    // Always goes here, ClassCastException thrown on Format
    System.out.println("Info: exception setting track");
    } else {
    track[i].setEnabled(false);
    2) The image coming from the webcam is flipped, which I transport as so, and just flip the image using drawImage. Is there a better way of doing this, because I assume not all webcams will capture the image flipped, and I have read that encryption works better if the image is not flipped.
    3) Client freezes when server stops broadcasting. I'm using a medialocator on the client with the rtp url to the broadcasting datasink. How can I capture the stop broadcasting event on the client and stop the client process cleanly?
    4) Server freezes when I stop broadcasting and have a client connected to the rtp locator. I use a processor.close() call on the server which works fine when no clients are connected to the rtp url of the broadcast. When a client is connected the close call hangs indefinately, even when I close the client.
    5) Performace is really slow. When the client connects to the media locator rtp url (running on the same machine) it takes upto 2 minutes to initialize, and transfer seems to be sparadic. The transfer often stops and starts again, but I'm not even going through the internet, I'm broadcasting on my local machine, with my client running on the same machine. I use a new laptop with 256MB, performance of the machine is fine.
    Any advice would be greatly appreciated.

    3) Client freezes when server stops broadcasting. I'm using a medialocator on the client with the rtp url to the broadcasting datasink. How can I capture the stop broadcasting event on the client and stop the client process cleanly?
    If your client s/w implements ReceiveStreamListener then you can use
    *     ReceiveStream Listener
    public void update(ReceiveStreamEvent e)
         RTPManager rtpM = (RTPManager)e.getSource();
         Object obj = e.getReceiveStream();
         if(obj != null)
         ReceiveStream rS = (ReceiveStream)obj;
         DataSource dS = rS.getDataSource();
         if(e instanceof StreamMappedEvent)
              System.out.println("Received an RTP StreamMappedEvent");
         else if(e instanceof NewReceiveStreamEvent)
              System.out.println("Received an RTP NewReceiveStreamEvent");
              try{
              rS = ((NewReceiveStreamEvent)e).getReceiveStream();
              if(participant != null)
                   establishPlayer(participant.getCNAME(), dS, rtpM);
              else
                   establishPlayer(null, dS, rtpM);
              }catch(Exception eX){
              eX.printStackTrace();
         else if(e instanceof InactiveReceiveStreamEvent)
              System.out.println("Received an RTP InactiveReceiveStreamEvent");
         else if(e instanceof ActiveReceiveStreamEvent)
              System.out.println("Received an RTP ActiveReceiveStreamEvent from '" + participant.getCNAME() + "' with '" + dS + "' DataSource");
         else if(e instanceof RemotePayloadChangeEvent)
              System.out.println("Received an RTP RemotePayloadChangeEvent");
    you can do something appropriate in the InactiveReceiveStreamEvent
    NOTE there isn't a way to recover the straem after this, so your expectation wo0uld be that the server-side is also shutting the stream down

  • Suggestions for video encryption?

    I have a requirement to encrypt a video:
    - the application generates a video file
    - the user is presented with a 'preview' of the video
    - after they agree to purchase the file is made 'available'.
    We have custom code to generate the video, so we can do whatever we want in terms of 'encryption', i.e. just bunging a few random-ish bytes at the start of the file would be sufficient, which could be stripped off when the user purchases it.
    The problem is obviously the preview - we are using a simple JMF Player, but of course it won't be able to handle the 'encrypted' file.
    I had originally thought that we could simply extend FileDataSource (or something like that) and get it to skip the leading bytes, but no joy - the MediaLocator/URL framework completely hides the underlying file stream.
    Any suggestions on how to proceed?
    Thanks in advance for any pointers.

    I had originally thought that we could simply extend FileDataSource (or something like that) and get it to skip the leading bytes, but no joy - the MediaLocator/URL framework completely hides the underlying file stream.Well, if the FileDataSource hides what you need, then write your own.
    A DataSource really only has to do 2 things (technically, this doesn't refer to the DataSource itself but instead the DataStreams inside the DataSource)... report the format of the data it delivers, and then deliver the data in the read function. You'll know the format your video is in, so you can hard-code that. And then you can handle delivering the data in the read function by manually handling the FileInputStream stuff.

  • Graphic control  of audio using JMF

    hi all
    I want to know that when we capture audio using JMF then can we show some
    visual control of it like any graphics sort of thing .
    Is it possible in JMF ?
    thanx in advance
    take care
    bye

    hi
    how r u??
    Yeah i am looking for volume meter as well as a graphic control on my panel
    to show that recording is goin on
    can u help me out i ma also facing a prob in audio capturing
    I am trying to save file as .wav .well I got the file and when i open it in notepad i
    can see the WAV tag as well as some encrypted characters ..but when I try to play it nothing is there
    What could be the problem??
    Plz help me out
    thanx in advance
    Bye

  • Default Encrypted  Password

    Dear All,
    i want to insert encrypted Password of 'password' string into table user_dtl column PASSWORD .
    How can i insert Encripted password into table.
    Thanks

    Hi Vedant,
    See the CUSTOM_HASH function that is installed with sample application in the APEX.
    Here is the code for it:
    create or replace function custom_hash (p_username in varchar2, p_password in varchar2)
    return varchar2
    is
      l_password varchar2(4000);
      l_salt varchar2(4000) := 'XFSPL28ZTWEWWM6FHWMK68AG5NQVLU';
    begin
    -- This function should be wrapped, as the hash algorithm is exposed here.
    -- You can change the value of l_salt or the method of which to call the
    -- DBMS_OBFUSCATOIN toolkit, but you much reset all of your passwords
    -- if you choose to do this.
    l_password := utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5
      (input_string => p_password || substr(l_salt,10,13) || p_username ||
        substr(l_salt, 4,10)));
    return l_password;
    end;
    i want to insert encrypted Password of 'password' string into table user_dtl column PASSWORD.The above function will give the encrypted password which can be inserted into USER_DTL as follows:
    INSERT INTO USER_DTL(USERNAME,PASSWORD) VALUES(:P1_USERNAME, CUSTOM_HASH(:P1_USERNAME,:P1_PASSWORD))Be sure that PASSWORD column in USER_DTL is of type VARCHAR2 and of adequate length as to accommodate the encrypted password.
    Hope it helps!
    Regards,
    Kiran

  • Bit locker drive encryption failed due to power failer and hard disk corrupted

    I ran Bitlocker drive ecryption drive D. My pc is windows 7 ultimate, while it was in progress of 1% due to power failer the encryption failed, when power resume the drive didn't showed the file format nor the size but it shows the size in disk management.
    It showed like this in My computer
    I do Have the recovery code password and back of recovery password so I ran the "manage-bde-_unlock D:-rp[my code ]
    and my pc got hang  no other option rather than to press the restart button. 
    then I used commang "repair-bde -force D:I:-rp[my rp] and following info showed but it stucked in 1% about 8 hours, and there was no increase in the pecentage
    I also connected the hardisk to mac but all othe partation showed but didn't showed the encrypted one.
    I had lots of memorable picture and other backups so any one kindly help me to get out of this problem. Thanks for help

    Hi,
    The BitLocker encryption and decryption processes can be interrupted by turning the computer off, and it will resume where it left off the next time Windows starts. This is true even if the power is suddenly unavailable.
    Bitlocker-repair (repair-bde)  tool
    can't repair a drive that failed during the encryption or decryption process.
    In addition, could you please explain a bit for what drive you are trying to deal with? external one?
    When you first restart your PC, have you seen any signs that indicate that the encryption is in process?
    Regarding your scenario, please take a look to see if the following articles could help here:
    Scenario 11: Recovering Data Protected by BitLocker Drive Encryption (Windows 7)
    Besides, when running manage-bde command, did we followed the steps mentioned in the below article?
    Scenario 14: Using a Data Recovery Agent to Recover BitLocker-Protected Drives (Windows 7)
    Best regards
    Michael Shao
    TechNet Community Support

  • Data Recovery from Partitioned and formatted Bit Locker Encrypted Drive

    Recently because of some issues in windows 7 installation from windows 8 installed OS. it was giving as the disc is dynamic windows can not be installed on it. so at last after struggling hard no other solution i partitioned and formatted my whole
    drive so all data gone included the drive which was encrypted by bit lockers.
    For recovery i used many software such as ontrack easy recover, get data back, recovery my files professional edition but still i couldnt able to recover my data from that drive. then i found some suggestion Using CMD to decrypt my data first 
    http://technet.microsoft.com/en-us/library/ee523219(WS.10).aspx
    where it shows it successfully decrypt my data at that moment my drives were in RAW format excluding on which windows is installed and then in CMD i check Chdsk which also shows no problem found. but now problem is still i coudnt able to recover
    my data then i format the drive D and again tried to recover data using above software after decryption still no result. 
    Now i need assistance how i can recover my encrypted drive as it was partitioned and also formatted but decrypted also as i have its recovery key too. thanks

    Hi ,
    I am afraid that we cannot get the data back if the drive has been formatted even if use the
    BitLocker Repair Tool.
    You’d better contact your local data recovery center to try to get data back.
    Tracy Cai
    TechNet Community Support

  • MBean creation: Encrypted = "true" doesnt work in MBeanAttribute

    Hello!
    I'm trying to create a custom AuthenticationProvider for WLS7 (up to
    date with service packs) and use the
    weblogic.management.commo.WebLogicMBeanMaker to create the necessary
    stubs. The authanticator should remember the system user and its
    password, so I created the following two <MBeanAttribute>s for the
    MBeanType:
    <MBeanAttribute Name="SystemUser" Type="java.lang.String"
    Writeable="true" Default=""system"" CachingDisabled="false"
    CurrencyTimeLimit="-1" Deprecated="false"
    GenerateExtendedAccessors="false" IsIs="false" Iterable="false"
    LegalNull="true" Listen="false" Log="false" NoDoc="false"
    NoDump="false" Readable="true" Visibility="1" />
    <MBeanAttribute Name="SystemPassword" Type="java.lang.String"
    Writeable="true" Default=""password"" Encrypted="true"
    CachingDisabled="false" CurrencyTimeLimit="-1" Deprecated="false"
    GenerateExtendedAccessors="false" IsIs="false" Iterable="false"
    LegalNull="true" Listen="false" Log="false" NoDoc="false"
    NoDump="false" Readable="true" Visibility="1" />
    It works fine as long as I leave out Encrypted="true" in the
    SystemPassword, but if I do this, I can find the password hanging
    around in cleartext in the /domain/userConfig/Security-folders. If I
    use Encrypted="true" it compiles fine, the server starts up fine, I
    can configure it without a problem. But as soon as I set the password
    in the admin-console and restart the server I get the following
    Exception:
    <07.06.2003 18:49:51 CEST> <Critical> <WebLogicServer> <000364>
    <Server failed during initialization.
    Exception:weblogic.management.configuration.ConfigurationException: -
    with nested exception:
    [java.lang.NullPointerException]
    java.lang.NullPointerException
    at weblogic.security.internal.SerializedSystemIni.getEncryptionService(SerializedSystemIni.java:225)
    at weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
    at javax.management.modelmbean.RequiredModelMBean.setAttribute(RequiredModelMBean.java:1681)
    at weblogic.management.commo.CommoModelMBean.setAttribute(CommoModelMBean.java:136)
    at weblogic.management.commo.CommoModelMBean.load(CommoModelMBean.java:616)
    at weblogic.management.commo.Commo.initInstances(Commo.java:241)
    at weblogic.management.commo.Commo.init(Commo.java:125)
    at weblogic.management.AdminServerAdmin.initializeCommo(AdminServerAdmin.java:477)
    at weblogic.management.AdminServerAdmin.initialize(AdminServerAdmin.java:108)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:664)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    --------------- nested within: ------------------
    weblogic.management.configuration.ConfigurationException: - with
    nested exception:
    [java.lang.NullPointerException]
    at weblogic.management.AdminServerAdmin.initializeCommo(AdminServerAdmin.java:486)
    at weblogic.management.AdminServerAdmin.initialize(AdminServerAdmin.java:108)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:664)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    >
    Any ideas what could be wrong? What kind of encryption service does it
    look for?
    Thanks for any idea that could be useful.
    Regards
    Thomas

    This is a known issue. Contact [email protected] for a patch.
    Satya wrote:
    This indeed looks like a bug, please enter a case with support.
    Thanks,
    -satya
    Thomas wrote:
    Hello!
    I'm trying to create a custom AuthenticationProvider for WLS7 (up to
    date with service packs) and use the
    weblogic.management.commo.WebLogicMBeanMaker to create the necessary
    stubs. The authanticator should remember the system user and its
    password, so I created the following two <MBeanAttribute>s for the
    MBeanType:
    <MBeanAttribute Name="SystemUser" Type="java.lang.String"
    Writeable="true" Default=""system"" CachingDisabled="false"
    CurrencyTimeLimit="-1" Deprecated="false"
    GenerateExtendedAccessors="false" IsIs="false" Iterable="false"
    LegalNull="true" Listen="false" Log="false" NoDoc="false"
    NoDump="false" Readable="true" Visibility="1" />
    <MBeanAttribute Name="SystemPassword" Type="java.lang.String"
    Writeable="true" Default=""password"" Encrypted="true"
    CachingDisabled="false" CurrencyTimeLimit="-1" Deprecated="false"
    GenerateExtendedAccessors="false" IsIs="false" Iterable="false"
    LegalNull="true" Listen="false" Log="false" NoDoc="false"
    NoDump="false" Readable="true" Visibility="1" />
    It works fine as long as I leave out Encrypted="true" in the
    SystemPassword, but if I do this, I can find the password hanging
    around in cleartext in the /domain/userConfig/Security-folders. If I
    use Encrypted="true" it compiles fine, the server starts up fine, I
    can configure it without a problem. But as soon as I set the password
    in the admin-console and restart the server I get the following
    Exception:
    <07.06.2003 18:49:51 CEST> <Critical> <WebLogicServer> <000364>
    <Server failed during initialization.
    Exception:weblogic.management.configuration.ConfigurationException: -
    with nested exception:
    [java.lang.NullPointerException]
    java.lang.NullPointerException
    at
    weblogic.security.internal.SerializedSystemIni.getEncryptionService(SerializedSystemIni.java:225)
    at
    weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
    at
    javax.management.modelmbean.RequiredModelMBean.setAttribute(RequiredModelMBean.java:1681)
    at
    weblogic.management.commo.CommoModelMBean.setAttribute(CommoModelMBean.java:136)
    at
    weblogic.management.commo.CommoModelMBean.load(CommoModelMBean.java:616)
    at weblogic.management.commo.Commo.initInstances(Commo.java:241)
    at weblogic.management.commo.Commo.init(Commo.java:125)
    at
    weblogic.management.AdminServerAdmin.initializeCommo(AdminServerAdmin.java:477)
    at
    weblogic.management.AdminServerAdmin.initialize(AdminServerAdmin.java:108)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:664)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    --------------- nested within: ------------------
    weblogic.management.configuration.ConfigurationException: - with
    nested exception:
    [java.lang.NullPointerException]
    at
    weblogic.management.AdminServerAdmin.initializeCommo(AdminServerAdmin.java:486)
    at
    weblogic.management.AdminServerAdmin.initialize(AdminServerAdmin.java:108)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:664)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    Any ideas what could be wrong? What kind of encryption service does it
    look for?
    Thanks for any idea that could be useful.
    Regards
    Thomas
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • Encrypted="true" does not encrypt MBean attribute

    Hi,
    I have developed a Custom Weblogic Security Service Provider. I have also created
    an MBean
    to manage my provider. One of my MBean attributes is as follows:
    <MBeanAttribute
    Name = "JdbcPassword"
    DisplayMessage = "The JDBC Password to the security database"
    Type = "java.lang.String"
    Writeable = "true"
    Encrypted = "true"
    Default = ""password""
    />
    I have specified Encryped="true" above, however, the value I put in the Weblogic
    Console
    is still seen in cleartext in the config.xml. Why isnt it being encrypted? Or
    do I misunderstand
    the purpose of the Encrypted attribute?
    Thanks,
    Proneel.

    "Proneel Guptan" <[email protected]> wrote:
    >
    Hi,
    I have developed a Custom Weblogic Security Service Provider. I have
    also created
    an MBean
    to manage my provider. One of my MBean attributes is as follows:
    <MBeanAttribute
    Name = "JdbcPassword"
    DisplayMessage = "The JDBC Password to the security database"
    Type = "java.lang.String"
    Writeable = "true"
    Encrypted = "true"
    Default = ""password""
    />
    I have specified Encryped="true" above, however, the value I put in the
    Weblogic
    Console
    is still seen in cleartext in the config.xml. Why isnt it being encrypted?
    Or
    do I misunderstand
    the purpose of the Encrypted attribute?
    Thanks,
    Proneel.Hi Proneel,
    Could you please tell me what version of Weblogic are you using?
    Thanks,
    Carmen

Maybe you are looking for