Unable to get Rmi program working. Help plz - urgent.

Any help to get this problem resolved would be of help.
I get the error as below:
D:\test\nt>java Client
Server
Client exception: Error marshaling transport header; nested exception is:
javax.net.ssl.SSLException: untrusted server cert chain
java.rmi.MarshalException: Error marshaling transport header; nested exception is:
javax.net.ssl.SSLException: untrusted server cert chain
javax.net.ssl.SSLException: untrusted server cert chain
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120198])
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:76)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:134)
at java.io.DataOutputStream.flush(DataOutputStream.java:108)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:207)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:178)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:87)
at Server_Stub.passArgs(Unknown Source)
at Client.main(Client.java, Compiled Code)
the server was invokde as:
D:\test\nt>java -Djava.rmi.server.codebase="file:/d:/test" -Djava.policy=d:/test/policy Server a b c
Server bound in registry
where policy had allpermission
The server program is given as below:
import java.net.InetAddress;
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
public class Server extends UnicastRemoteObject implements Message
     private static String[] args;
     public Server() throws RemoteException
          // super();     
          super(0, new RMISSLClientSocketFactory(),
               new RMISSLServerSocketFactory());
     public String[] passArgs() {
          System.out.println(args[0]);
          System.out.println(args[1]);
          System.out.println(args[2]);
          System.out.println(args.length);
          System.out.println();
          return args;
     public static void main(String a[])
          // Create and install a security manager
          if (System.getSecurityManager() == null)
               System.setSecurityManager(new RMISecurityManager());
          args=a;
          try
               Server obj = new Server();
               // Bind this object instance to the name "Server"
               Registry r = LocateRegistry.createRegistry(4646);
               r.rebind("Server", obj);
               System.out.println("Server bound in registry");
          } catch (Exception e) {
               System.out.println("Server err: " + e.getMessage());
               e.printStackTrace();
The RMISSLServerSocketFactory class is as below:
import java.io.*;
import java.net.*;
import java.rmi.server.*;
import javax.net.ssl.*;
import java.security.KeyStore;
import javax.net.*;
import javax.net.ssl.*;
import javax.security.cert.X509Certificate;
import com.sun.net.ssl.*;
public class RMISSLServerSocketFactory implements RMIServerSocketFactory, Serializable
     public ServerSocket createServerSocket(int port)
          throws IOException     
          SSLServerSocketFactory ssf = null;
          try {
               // set up key manager to do server authentication
               SSLContext ctx;
               KeyManagerFactory kmf;
               KeyStore ks;
               char[] passphrase = "passphrase".toCharArray();
               ctx = SSLContext.getInstance("TLS");
               kmf = KeyManagerFactory.getInstance("SunX509");
               ks = KeyStore.getInstance("JKS");
               ks.load(new FileInputStream("testkeys"), passphrase);
               kmf.init(ks, passphrase);
               ctx.init(kmf.getKeyManagers(), null, null);
               ssf = ctx.getServerSocketFactory();
          } catch (Exception e)
               e.printStackTrace();
               return ssf.createServerSocket(port);
The RMIClientSocketFactory is as below:
import java.io.*;
import java.net.*;
import java.rmi.server.*;
import javax.net.ssl.*;
public class RMISSLClientSocketFactory     implements RMIClientSocketFactory, Serializable
     public Socket createSocket(String host, int port)
          throws IOException
          SSLSocketFactory factory =(SSLSocketFactory)SSLSocketFactory.getDefault();
          SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
               return socket;
And finally the client program is :
import java.net.InetAddress;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.RemoteException;
public class Client
     public static void main(String args[])
          try
               // "obj" is the identifier that we'll use to refer
               // to the remote object that implements the "Hello"
               // interface
               Message obj = null;
               Registry r = LocateRegistry.getRegistry(InetAddress.getLocalHost().getHostName(),4646);
               obj = (Message)r.lookup("Server");
               String[] s = r.list();
               for(int i = 0; i < s.length; i++)
                    System.out.println(s);
               String[] arg = null;
               System.out.println(obj.passArgs());
               arg = obj.passArgs();
               System.out.println(arg[0]+"\n"+arg[1]+"\n"+arg[2]+"\n");
          } catch (Exception e) {
               System.out.println("Client exception: " + e.getMessage());
               e.printStackTrace();
The Message interface has the code:
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Message extends Remote
     String[] passArgs() throws RemoteException;
Plz. help. Urgent.
Regards,
LioneL

hi Lionel,
have u got the problem solved ?
actually i need ur help regarding RMI - SSL
do u have RMI - SSL prototype or sample codings,
i want to know how to implement SSL in RMI
looking for ur reply
-shafeeq

Similar Messages

  • PLEASE HELP ME??? Lost itunes trying to downgrade back from 11.0 & unable to get itunes to work at all now..

    New Itunes setup is the worst one yet!!! I couldn't stand it, so I tried uninstalling it and reinstalling older versions, but now I am unable to get it to work in any version. I have uninstalled & reinstalled several times (trying this with multiple versions). Strange thing is that ever since I uninstalled 11.0 I have not been able to get any of the other versions to open at all.. Sometimes an error message box dings & pops up that says something about how to adjust the volume through your itunes, or unable to open file.. other times when I click on the icon it just does absolutely nothing. WILL SOMEONE PLEASE HELP ME??? I'm going crazy without my music & I am panicking because I am afraid I may have lost all music (I have thousands & thousands of songs on there).. I'm hoping to find a way to reinstall an older version, but at this point if I can't find a way to bring back the old version, I'll take 11.0 if I absolutely have to (meaning if it's the only way to retrieve itunes without losing my entire library)

    Have latest version of iTunes installed and running. Also make sure you have internet access working and can access Apple websites. Also, make sure you don't have any entries in your hosts file referring to gs.apple.com....If your not sure about how to do that, go ahead and do the rest first. You can come back to that later.....Plug in phone. Put phone in DFU mode.(google put iphone in DFU mode for instructions) Then restore the phone in iTunes by highliting your device in the left column and click on the Restore button. The latest iOS version is 4.3.3. That's what iTunes will restore it to. When it's done restoring, iTunes will ask if you want to restore from a backup or setup as a new phone. I would use the Setup as a New Phone option. Once it's done, you should have a clean install of the iOS and an operating phone, as long as there are no hardware issues with it.

  • I am also unable to get the 551L working with Windows 8 Beta 1. Any advice?

    I am also unable to get the 551L working with Windows 8 Beta 1 and Mac OS X 10.8 Mountain Lion Developer Preview 2. Any Advice?

    It should be noted that I was previously in those Windows Beta's and I am also a member of both Microsoft Technet (Retail Subscription), and all 3 Apple Developer Programs (IOS, Mac and Safari), which is the reason why I am running Microsoft Windows 8 Beta 1 on 2 of my 3 Dell's (the oldest one has Microsoft Windows XP Service Pack 3 and Microsoft Office 2003 on it, which is the PC that I am using the 551L on), and the Mid Year 2010 Apple Mac Mini has Mac OS X 10.8 Mountain Lion Server Edition on it (something that I am technically am NOT supposed to be talking about here due to my NDA so this will be the last time I mention it here (as you can see I am known for being the type of  Computer Nerd that loves Alpha and Beta Testing)! :-)

  • Unable to get Phone Dialer working

    Hello everyone,
    I have setup a brand new client. And I am unable to get the dialer working correctly.
    I have followed the directions here: Re: The Top10 most frequently asked questions and answers (FAQ) January 2009
    - Telephony service is started
    - Windows XP Phone and Modem settings correctly configured
    - Phone Dialer does work and does show the progress of the "manual" test call
    - Phone Dialer is running and minimized
    - SAP/b1 General Settings/Service is setup with an area code.. nothing needed for an outside line
    When I pull up a Business Partner and hover over a phone number, I hit CTRL+TAB and nothing happens... the next field is just highlighted and no dialing occurs.
    Any thoughts as to what I'm missing to get this working correctly?
    All input is welcome.
    Thanks!
    ~ terry o.

    Finally got this working. Please setup your dialer using these directions;
    - Telephony service is started
    - Windows Phone and Modem settings correctly configured with any required settings like area code or country
    - Run Phone Dialer (dialer.exe) and confirm it does work and does show the progress of a "manual" test call
    - Change SAP/b1 General Settings/"Service" is setup with an area code.. and outside line requirements
    Open SAP/b1 and hover your cursor over a phone number. When the "phone" icon is displayed, press "CTRL + double-click".
    The dialer should open and you should see the progres of your call.
    Good luck!
    ~ terry o.

  • Currently working on OpenSPARC. Unable to get ModelSim for working on Linux

    We are working on OpenSPARC. We need to get ModelSim to compile the code in Verilog. We are unable to get ModelSim to work on Fedora Linux Version 9, as ModelSim only works on Windows.Is there a way to get Modelsim for Fedora Linux version 9.
    Regards,
    K.Pradheep Kumar
    19.08.08

    They have a Modelsim LE version for Linux. Check this out:
    http://www.model.com/products/default.asp

  • I am unable to get my bluetooth working message says "make sure car mutli media is in range" how do I get connected?

    I am unable to get my bluetooth working on my phone. the message says "make sure car mutli media is in range" how do I get connected and what does that mean?

    Have you tried a soft-reset ? Press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider if it appears), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.

  • I am unable to get quicktime to work in IE10

    I am unable to get quicktime to work in IE10 each time it just redirects me to the quicktime download, I've uninstalled and reinstalled quicktime, I've done a reset on IE, tried unchecking ActiveX filtering...Any other ideas?

    I'm working my way through Dreamweaver CC Classroom in a Book. The template in the exercise I'm trying to complete has sections that you can edit and those that you cannot. The links involved are to buttons in the non-editable sections. Since they're non-editable, you can't employ Property Inspector to alter content in those sections. I surmise that the through the Assets Panel approach is supposed to give you the capacity to add hyperlinks to those sections. Double clicking the template does not give you access to those non-editable sections. I've tried that along with a number of other circumventing the Assets Panel approaches. I've dug up a verson of the template from an earlier exercise that doesn't have any non-editable sections and the Property Inspector works fine. With some fumbling aboutI 'm sure I could go right to the code as well.
    Ultimately, I don't think I'll have any difficulty with my project working around the Assets Panel. The deal is... it's supposed to work... and it doesn't. And being blown off by support really ticks me off. I'm sure yoou understand.
    Thanks for your time and effort on my behaf. Being a really stubborn son of a *****... I'll probably keep after this until I get an answer... whether I ever need to use the Assets Panel or not.
                                                                Thanks again.

  • I-phone shuts off, I have to hold the home and power button at the same time to get the icon to show up.  Then have to hold the home button.  I'm restoring my phone multiple times a day just to get it to work. help!

    i-phone shuts off, I have to hold the home and power button at the same time to get the icon to show up.  Then have to hold the home button.  I'm restoring my phone multiple times a day just to get it to work. help!

    Are you restoring as new?

  • I like to use the HP Smart Printing program but unable to get it to work on your desktop

    HP Smart printing is a program that I can select certain items from the internet.or computer and print out only items I want.
    I find when I was using MSN.ca it I had no trouble and it worked great,now I switched to Mozilla Firefox I cant' even get it to appear on your toolbar,and unable to open the program to use it..please advise asap as I need this program and would hate to go back to MSNI

    HP Smart Web Printing doesn't support Firefox 3,6.x versions. Contact HP and request that they start supporting Firefox again, as they did with previous versions.

  • Just bought my iphone 4S today and i have noted that it is heating up excessively even after mild usage especially on the side of sim card entry,moreover it is not providing good coverage as compared to my previous iphone 3 GS,siri hardly works,help plz

    Hi,This is Dr Mohammad Bashir Ahmed from united arab emirates,I just got my iphone 4S today and i am really disappointed because its coverage is very poor as compared to my previous iphone 3 GS,i used my iphone 4S today in same areas of my house where i was using my iphone 3GS and most of the times 3G network doesnt work and i am unable to use it even it takes very long time to open a simple email without any attachment,i called my network service provider (DU)also but they told me there is no issue of coverage in my area,moreover my iphone 3GS is working fine in same area,2ndly a strange thing is happening,it gets heated very quickly on sim card side and even i feel difficult to hold it for long because of too much heat,i was excited about SIRI which hardly works,so plz tell me should i return this set or what?

    Hi,This is Dr Mohammad Bashir Ahmed from united arab emirates,I just got my iphone 4S today and i am really disappointed because its coverage is very poor as compared to my previous iphone 3 GS,i used my iphone 4S today in same areas of my house where i was using my iphone 3GS and most of the times 3G network doesnt work and i am unable to use it even it takes very long time to open a simple email without any attachment,i called my network service provider (DU)also but they told me there is no issue of coverage in my area,moreover my iphone 3GS is working fine in same area,2ndly a strange thing is happening,it gets heated very quickly on sim card side and even i feel difficult to hold it for long because of too much heat,i was excited about SIRI which hardly works,so plz tell me should i return this set or what?

  • Unable to get following example working

    http://java.sun.com/products/jlf/ed2/samcode/textme1.html
    i am unable to get this example of file menus working.
    i have created a new project in JBuilder called TextMenu.jpx
    i have altered the project properties to look for TextMenu as the main method but it gives me a compilation error:
    "java.lang.NoClassDefFoundError: TextMenu
    Exception in thread "main" "
    can anyone else get this example working???

    Hi there,
    OK So its been two years since the last reply to this thread, but just incase anyone else out there is having problems with getting this example working in JBuilder here is how we did it.
    First off remove the "package samples;" line from the top of the .java file
    then locate the following line
    resources = ResourceBundle.getBundle( "samples.resources.bundles.TextMenuResources", locale);
    and change the part in the quotes to just "TextMenuResources".
    Finally open the samples.jar file and extract the file "TextMenuResources.properties" to the class folder of the project you are working on (for example if your project was called "TextMenu" then locate the "\TextMenu\class" folder and extract the file to there).
    Then compile the .java file in jbuilder and it runs, hopefully.
    I'm guessing there are easier ways to achieve a working state, but i had to get this working on a college computer with a variety of security precautions in place (including no command prompt, and no control panel which makes altering the classpath environment variable hard unfortunately).
    Hope that this helps someone.
    Sheepy / Andy

  • HT2213 I am unable to get this to work. Anyone have success on this?

    I recently had a firmware update go bad on me. I did as it said and it flashed the led and beeped once and the screen remained black. After a long time with nothing happening I shut it down and tried again but this time got the 3 quick 3 long 3 quick beeps/flashes. I downloaded the firmware restoration cd and I am unable to get the cd to work. My mac is a macbook core duo and I have both the restoration cds 1.3 and 1.4. Neither work. I would appreciate any help.

    Never mind. I found out that there isnt a disk for this model yet.

  • I am unable to get iCloud to work on my iphone 4s. check email is ok but everything else is faded and at the bottom it says iCloud back up is off. how do I turn it off?

    I can't get iCloud to work. the screen says iCloud backup is off but I don't know how to turn it on, can anyone help?

    I have been trying to activate my icloud on my mackbook pro running the latest lion 10.7.3 for the last 2 weeks without any luck. It says verifiction e-mail sent check your e-mail, but I never get any e-mail checke all folders no e-mail from apple. Is somebody have the same proble? How I can verify with my apple id? any help appreciated

  • Unable to get Twitter Stream working in SocialMiner

    I've had this working in the past but recently the Twitter Stream stopped working in SocialMiner 8.5(3).  I can create a Twitter Stream but when I add it to Campaigns the state "Twitter Stream read error.  Last successful fetch time was NEVER, Success rate is 0%"  I don't see anything was changed, DNS is working, username/password for the Twitter Stream is correct, I just can't seem to figure out what the issue is.  What specific logs can I look at to determine the issue?
    Thanks
    Travis

    @travis 
    Have you tried google chat?  I have a system set up with google chat XMPP so I know that works (my other system is using webex connect.  I don't have one set up with CUP at this time.)
    Create a gmail account.
    The SocialMiner settings are:
    Enabled:
    Yes
    Enable Service Lookup:            Yes
    XMPP Service Name:gmail.com
    User Name:
    [email protected]
    Password: *******
    Again, SocialMiner should work with CUP as well and TAC should be able to start troubleshooting process on that but if you just want to get the XMPP working then you can see how that works with Google chat (also note: getting it to work with google may help narrow the issue with CUP.)

  • SunStudio 11: unable to get collector to work

    I'm using BEA WebLogic 8 & java jdk 1.4.2_08.
    I have written a servlet in C++ and it works fine with Weblogic.
    However I need to look at the bottlenecks when I have multiple threads running.
    I have tried using LD_PRELOAD when starting weblogic and then attaching to the proces with dbx.
    I set up the collector and enter cont to dbx.
    However dbx comes back with the following error:
    (dbx) cont
    Creating experiment database test.6.er ...
    dbx: can't find a system call entry point -- program not linked with libc?
    libc appears in the list of shared libraries for the process.
    Any ideas how to get this all working?
    Thanks
    Damian

    We have a pretty long web page on how to profile WebLogic. I need to find out how to get that page accessible from outside. For now, I believe I can post a launch script referred from that page:
    #!/bin/sh
    #     @(#)collectlaunch.sh.txt 1.1 06/01/20
    # This script is used by the WebLogic NodeManager to start up Managed servers
    # on Unix systems under the control of an Admin server. The Admin
    # server supplies the arguments to this script.
    # The script is invoked with 4 arguments:
    # Arg1: is the command line used to start up a Managed server
    # Arg2: is the file to which stdout is to be redirected to
    # Arg3: is the file to which stderr is to be redirected to
    # Arg4: is the file into which the process id of the Managed server
    # is saved.
    # This script uses just one variable:
    # JAVA_HOME - which is used to determine the Java version that is
    # to be used to start up the WebLogic Managed server.
    # set up WL_HOME, the root directory of your WebLogic installation
    WL_HOME="/apps/infra/weblogic/8.1/PO/INT4/weblogic81"
    # set up common environment
    . "${WL_HOME}/common/bin/commEnv.sh"
    # verify that JAVA_HOME points to a real Java
    #     ?? But why check for javac, as opposed to java? Only java is needed
    if [ ! -f "$JAVA_HOME/bin/javac" ]; then
    echo "The JDK wasn't found in directory $JAVA_HOME." > $3
    exit 1 # fail if not found
    fi
    # --- last steps -- commented out here, and repeated below
    # Spawn the Java
    # "$JAVA_HOME/bin/java" $1 >$2 2>$3 &
    # Save its PID, write it to the file named in the fourth argument
    # PID=$!
    # echo $PID > $4
    # Begin customization, to enable Sun Studio Data collection on the launched server
    # Set NEWARG1 to the argument to be used for invoking the JVM
    # NEWARG1=`echo $1`
    # At this point, massage NEWARG1 if there are any arguments to be removed
    #     when profiling, or extra arguments to add for profiling.
    # use sed on arg1 to extract the token beginning with -Dweblogic.Name= and extract the string
    # following the = which is the name of the application being launched; set APPNAME to it
    APPNAME=`echo $NEWARG1 | sed 's/^.*-Dweblogic.Name=\([^ $]*\).*/\1/'`
    # use sed on arg2 to remove the trailing basename to yield the directory in which
    # the log files are being written and set APPDIR to it
    APPDIR=`dirname $2`
    # construct a name for the experiment, EXPNAME, as ${APPDIR}/${APPNAME}.mm.dd.hh.mm.ss.er
    #     where mm.dd... is the current time stamp
    # use that EXPNAME as a -o argument to collect
    EXPNAME=${APPDIR}/${APPNAME}.`date '+%m%d_01/20/06M%S'`.er
    # construct a name for a script file to send SIGPROF to the process as ${APPDIR}/kill.${APPNAME}
    SIG_SCRIPT=${APPDIR}/kill.${APPNAME}
    # Set $COLLECTOR to command and arguments -- in this case
    #     Default clock profiling
    #     Signal-controlled pause and resume
    #     Archive copying for portability
    #     experiment name constructed above
    COLLECTOR="collect -j on -y PROF -S off -A copy -o ${EXPNAME}
    # Or, use APPNAME to extract COLLECTOR from a configuration file
    #     e.g., grep for $APPNAME.COLLECTOR, and then sed to extract
    #     the remainder of the line and set COLLECTOR to it
    # Or, use APPNAME to extract components for construction of
    #     COLLECTOR for that application from a configuration file
    #     Also, could grep for additional Java arguments, etc.
    # create a log of the information processed in this script
    echo "arg1= " $1 > ${APPDIR}/col.log
    echo "arg2= " $2 >> ${APPDIR}/col.log
    echo "arg3= " $3 >> ${APPDIR}/col.log
    echo "arg4= " $4 >> ${APPDIR}/col.log
    echo "" >> ${APPDIR}/col.log
    echo "NEWARG1= " ${NEWARG1} >> ${APPDIR}/col.log
    echo "" >> ${APPDIR}/col.log
    echo "APPNAME= "${APPNAME} >> ${APPDIR}/col.log
    echo "APPDIR= "${APPDIR} >> ${APPDIR}/col.log
    echo "SIG_SCRIPT= "${SIG_SCRIPT} >> ${APPDIR}/col.log
    echo "EXPNAME= "${EXPNAME} >> ${APPDIR}/col.log
    echo "" >> ${APPDIR}/col.log
    echo "COLLECTOR= "${COLLECTOR} >> ${APPDIR}/col.log
    echo "" >> ${APPDIR}/col.log
    echo "COMMAND= ${COLLECTOR} \"${JAVA_HOME}/bin/java\" ${NEWARG1} >$2 2>$3 &" >> ${APPDIR}/col.log
    echo "" >> ${APPDIR}/col.log
    # Now actually spawn the JVM under COLLECTOR
    ${COLLECTOR} "${JAVA_HOME}/bin/java" ${NEWARG1} >$2 2>$3 &
    # Save the PID, write it to the fourth argument (as in original script)
    PID=$!
    echo $PID > $4
    # and write it to the collector log file
    echo "PID= " $PID >> ${APPDIR}/col.log
    # write a script to send SIGPROF to the process
    # and make the script executable by anyone
    echo "#!/bin/sh" > ${SIG_SCRIPT}
    echo "kill -PROF $PID" >> ${SIG_SCRIPT}
    chmod 777 ${SIG_SCRIPT}

Maybe you are looking for

  • Problem installing acrobat upgrade 2.3.0.0

    How can I get around a download error #16820 when trying to install a mandatory acrobat upgrade 2.3.0.0.?

  • MSS iview not found

    Hi All, When clicking on any sqaure colored icon of Team Calendar iview in MSS , I get portal runtime exception "com.sapportals.portal.prt.runtime.PortalRuntimeException: iView not found: com.sap.pct.hcm.attendancedetail.default" Could you please hel

  • FCP Markers VS Avid Locators -- Please inform Apple

    FCP Markers have a serious flaw that Apple has got to fix. I am a tv editor and use Avid Locators to mark locations for all types of notes from shot to be effect to edit notes from producers and directors. I also leave notes for my assistant to addre

  • How to undo iOS 5.1.1

    24 hours after update my phone began rebooting every 5 minutes. Is there a way to undo the latest update?

  • I had an anti-virus for my PC....now that I have a mac, do I need to keep that anti-virus?

    I had an anti-virus on my pc that I purchased.  It was Trend-Micro.  It is now time to renew it and I am not sure if I really need it now that I have a mac... Does anyone know if I need an anti-virus software on my macbook pro? Thanks!