Message id algorithm

Hi,
Can anybody tell me how iPlanet Messaging Server generates te message ids?
I would like to know because I want to estimate the number of messages handled by the server by looking at the msg ids (I do not have access to the logs :-(
Example:
Msg-id dd-mm-yy hhmmss
1 0H5500FQNI110A@.... 06-11-02 114837
2 0H5500FQWIHN0A@.... 06-11-02 115835
3 0H550097QL0QNF@.... 06-11-02 125314
If possible at all, I would like to know how many other messages have been dealt with between msg 1-2 and 2-3.
Sincerely,
Koen

No, SNMP is not an option, because I don't have any control over the server.
Imagine a solutions provider, who you pay to deliver e-mail services to over 1 million users and refuses to give you insight in the total volume of messages sent and received...
I know it's pathetic, but this is in my opinion the only way to get an indication of the volume if you don't have any control over the server.

Similar Messages

  • Message digest algorithm in Archive Link

    Good Morning.
    We are building interface with the SAP Content Server. We require some help from you on the following items.
    Referring to the SAP Content Server HTTP Interface API 4.5/4.6,
    The library for checking signatures can be obtained from SAP AG. Because the standard format PKCS#7 was used for the signature, other products can also be used for decoding.
    From page 8, can you lets us know where we can get them.
    We would also want to know what is the message digest algorithm in Archive Link.

    Hi,
    SAP content server is using DSS for signing URL parameters. The NIST FIPS-180-3 specification defines which hash functions can be used in DSS. My guess is that it's using SHA1. I doubt that it's using newer version like SHA-256.
    Cheers

  • Message Digest Algorithms

    MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
    Can anyone point me the main (dis)advantages of any of those over the others? I don't want a full spec (the RFC) just if there's some obvious reason not to use one for a simple app. I care about size and performance.
    Thanks!

    MD2, MD4, MD5 All have output of 16 bytes
    SHA1 has an output of 20 bytes
    SHA256 has an output of 32 bytes
    SHA384 has an output of 48 bytes
    SHA512 has an output of 64 bytes
    Typically, you would select a hash algorithm based on the amount of output you need. Note that all of the SHA algorithms have about the same security even though their output lengths get longer they are really not any more secure.
    MD4 should not be used on ANY new applications. It is proven to be weak. In fact all of the MD algorithms are considered weaker than the SHA algorithm. MD4 is the weakest. MD5 is probably the strongest but it is also the newest meaning it has had less analysis.
    If you are writing a new app I would suggest one of the SHA algorithms based on what output size you need. If you use the larger hashes for a signature for example then your privatekey size must be larger to be able to encrypt it. But if you are using the hash to generate key bytes (PKCS#5 PBE key derivation as an example) you may need or want to use one of the larger algorithms to get enough digest data back to create large keysizes.
    It all really has to do with what you are trying to accomplish but SHA is considered stronger cryptographically speaking than any of the MD series. Each of the SHA algorithms are relatively speaking the same strenth.

  • Verifying a Digital Signature using message digest

    Hi, i am new to java.
    I have a Digitally signed document, i wanna verify this signed document against the original one.
    i got the idea from this link:
    http://help.sap.com/saphelp_45b/helpdata/en/8d/517619da7d11d1a5ab0000e835363f/content.htm
    i signed a pdf doc with my SmartCard. the third party signing tool passed me the PKCS7 digital signature and i stored it in database. the problem arose when i retrieved this digital signature from DB and verified against the original doc using the message digest method. the base64 result strings are always not equal.
    I am sure about this:
    -the retrieved digital signature was GOOD.
    -the original doc was GOOD.
    but why i can't get the same 2 message digests? can somebody please help?
    below is part of my code:
    while (rsetDs.next())
         InputStream DSName2 = rsetDs.getBinaryStream(1);
         ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
         byte[] myByte = Base64.decode(byteStream.toString());
         ByteArrayInputStream newStream = new ByteArrayInputStream(myByte);
         CertificateFactory cf = CertificateFactory.getInstance("X.509");
         Collection c = cf.generateCertificates(newStream2);
         Iterator i = c.iterator();
         while (i.hasNext())
              Certificate cert = (Certificate)i.next();
              X509Certificate cert1 = (X509Certificate)cert;
              try
                   java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
                   /*=============DB MD (BEGIN)==================*/
                   byte [] pubkeyByte = cert1.getPublicKey().getEncoded();
                   md.update(myByte);
                   md.update(pubkeyByte);
                   byte[] raw = md.digest();
                   String db_md = Base64.encode(raw);
                   /*============DB MD (end)============*/
                   /*=============PDF MD (BEGIN)==================*/
                   DataInputStream m_disFile = new DataInputStream(new FileInputStream("C:\\" + "original_doc.pdf"));
                   int m_iNum = m_disFile.available();
                   byte[] msgBytes = new byte[m_iNum];
                   m_iNum = m_disFile.read(msgBytes, 0, m_iNum);
                   md.update(msgBytes);
                   byte[] digestMd = md.digest();
                   md.reset();
                   String pdf_md = Base64.encode(digestMd);
                   /*=============PDF MD (END)==================*/
    ..thanks in advance.

    PKCS#7 SignedData objects are far more complex then it looks like you are taking them. First the PKCS#7 SignedData object will contain the OID for the message digest algorithm used and for the encryption algorithm used. From the looks of your code you are simply assuming MD5.
    It also contains all of the data that was signed which is typically much more than just the document. It also of course contains the public keys and signatures which singed the document. In your case it will probably only have one public certificate and one signature.
    Also note that a signature is an encrypted hash. Looking at your code I do not see you use encryption at all or rather for verification decryption.
    Here is the basic process a signature takes.
    MessageDigest md = MessageDigest.getInstance(algOID);
    byte[] digest = md.digest(message.getBytes(charEncoding));
    Cipher c = Cipher.getInstance("RSA/2/PKCS1Padding");
    c.init(Cipher.ENCRYPT_MODE, priKey);
    byte[] signature = c.doFinal(digest);Note that the resulting byte array is not the message digest but the encrypted message digest. You must use the corresponding public key to decrypt the signature to get the message digest value. It is because the trusted public key can decrypt the correct message digest that we know it was encrypted by the holder of the private key. It is because the decrypted message digest value is equal to my computed message digest value that we know the document has not be altered...
    Now PKCS#7 SignedData does not take the message digest of the document, in your case your PDF. It creates a message digest on an ASN.1 object which includes the bytes of your document plus a bunch of meta data.
    For more info on the exact format of a PKCS#7 signature file check out
    http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html
    Look through this doucment for SignedData as a starting place and follow through all of the sub objects that make up a SignedData object. This will give you an idea of what is involved.

  • DAT Drive not registering on sunfire V240

    Hi,
    I have 9 SUN v240 with which i connected the same DAT drive HP 72GB DDS DAT (PART NUMBER C7439). In six servers
    did devfsadm and it registered the DAT. It worked fine but in three of the SUN v240, this command doesnt seem to
    do anything. /dev/rmt is not created. I cannot restart the server because they are live/production servers. Is there
    any other solution to get this DAT recognised in solaris with out a reboot. Also, i cannot go to OBP (OK prompt) because
    ofcourse it needs a reboot.
    I checked the st.conf file and the entries of these file are the same in all 9 v240. So i think its not a problem of
    st.conf.
    Eargerly waiting for a solution.
    Here are some of the command outputs from 1 of the 3 servers which donot see the DAT:
    [root@vbsmf /kernel/drv] $strings /kernel/drv/st.conf | grep st
    # Copyright (c) 1995-2000 by Sun Microsystems, Inc.
    "@(#)st.conf
    # devices of Sun Microsystems and many 3rd party devices.
    # 1 Drive is configured automatically - no entry is needed in st.conf.
    # The 3rd party devices do apparently work with the configurations listed.
    # the past, but have not been tested by Sun Microsystems. Use these entries
    # as your starting point for generating your configuration entries.
    #tape-config-list=
    name="st" class="scsi"
    name="st" class="scsi"
    name="st" class="scsi"
    name="st" class="scsi"
    name="st" class="scsi"
    name="st" class="scsi"
    name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    #name="st" class="scsi"
    name="st" parent="fp" target=0;
    [root@vbsmf /kernel/drv] $cfgadm configure
    Ap_Id Type Receptacle Occupant Condition
    configure: No matching library found
    [root@vbsmf /kernel/drv] $cfgadm -al
    Ap_Id Type Receptacle Occupant Condition
    c0 scsi-bus connected configured unknown
    c0::dsk/c0t0d0 CD-ROM connected configured unknown
    c1 scsi-bus connected configured unknown
    c1::dsk/c1t0d0 disk connected configured unknown
    c1::dsk/c1t1d0 disk connected configured unknown
    c2 scsi-bus connected unconfigured unknown
    [root@vbsmf /kernel/drv] $cfgadm configure c2
    Ap_Id Type Receptacle Occupant Condition
    c2 scsi-bus connected unconfigured unknown
    configure: No matching library found
    [root@vbsmf /kernel/drv] $cfgadm -val
    Ap_Id Receptacle Occupant Condition Information
    When Type Busy Phys_Id
    c0 connected configured unknown
    Jan 1 1970 scsi-bus n /devices/pci@1e,600000/ide@d:scsi
    c0::dsk/c0t0d0 connected configured unknown unavailable
    Jan 1 1970 CD-ROM y /devices/pci@1e,600000/ide@d:scsi::dsk/c0t0d0
    c1 connected configured unknown
    Jan 1 1970 scsi-bus n /devices/pci@1c,600000/scsi@2:scsi
    c1::dsk/c1t0d0 connected configured unknown FUJITSU MAT3073N SUN72G
    Jan 1 1970 disk n /devices/pci@1c,600000/scsi@2:scsi::dsk/c1t0d0
    c1::dsk/c1t1d0 connected configured unknown FUJITSU MAT3073N SUN72G
    Jan 1 1970 disk n /devices/pci@1c,600000/scsi@2:scsi::dsk/c1t1d0
    c2 connected unconfigured unknown
    Jan 1 1970 scsi-bus n /devices/pci@1c,600000/scsi@2,1:scsi
    [root@vbsmf /kernel/drv] $ls /dev/rmt/0
    /dev/rmt/0: No such file or directory
    [root@vbsmf /kernel/drv] $ls /dev/rmt
    [root@vbsmf /kernel/drv] $devfsadm -v
    [root@vbsmf /kernel/drv] $ls /dev/rmt
    [root@vbsmf /kernel/drv] $ls /dev/rmt/0
    /dev/rmt/0: No such file or directory
    [root@vbsmf /] $modinfo
    Id Loadaddr Size Info Rev Module Name
    6 10158000 445b 1 1 specfs (filesystem for specfs)
    8 1015dd40 333c 1 1 TS (time sharing sched class)
    9 10160938 8d4 - 1 TS_DPTBL (Time sharing dispatch table)
    10 101609c0 291e3 2 1 ufs (filesystem for ufs)
    11 10187b33 1f7 - 1 fssnap_if (File System Snapshot Interface)
    12 10187c83 10900 226 1 rpcmod (RPC syscall)
    12 10187c83 10900 226 1 rpcmod (32-bit RPC syscall)
    12 10187c83 10900 1 1 rpcmod (rpc interface str mod)
    13 10195cc3 66f08 0 1 ip (IP Streams module)
    13 10195cc3 66f08 3 1 ip (IP Streams device)
    14 101f30bb 1982 1 1 rootnex (sun4u root nexus 1.91)
    15 101f4648 210 57 1 options (options driver)
    17 101f4d3c 18d8 12 1 sad (Streams Administrative driver's)
    18 101f639c 67b 2 1 pseudo (nexus driver for 'pseudo')
    19 101f68a5 1c228 85 1 md (Meta disk base module)
    24 1023362d 5234 - 1 md_stripe (Meta disk stripes module)
    25 1023847d a760 - 1 md_mirror (Meta disk mirrors module)
    26 10242765 10338 109 1 pcisch (PCI Bus nexus driver 1.201)
    27 1025111d 1023b 50 1 glm (GLM SCSI HBA Driver 1.166.)
    28 1025f310 8ac0 - 1 scsi (SCSI Bus Utility Routines)
    29 10264fe4 18008 32 1 sd (SCSI Disk Driver 1.356)
    33 1029bf1e a52d 135 1 uata (ATA controller Driver 1.89)
    34 102a5713 151f - 1 dada ( ATA Bus Utility Routines)
    37 102a7141 93c - 1 todm5819p_rmc (tod module for ALI M5819P)
    38 102a7a0b 344f 196 1 rmc_comm (rmc_comm driver, v1.2)
    39 102aaa92 508 199 1 pmugpio (Pmugpio Driver 1.1)
    40 780b8000 72bf - 1 ufs_log (Logging UFS Module)
    41 1027bd5c 1b04a 5 1 procfs (filesystem for proc)
    42 102962ba fab 126 1 ebus (ebus nexus driver)
    43 10296efd 2fcd 194 1 mc-us3i (Memory-controller: v1.1)
    44 10299bba d98 134 1 power (power button driver v1.9)
    45 1029a7aa 1016 159 1 pmubus (pmubus nexus driver)
    46 10211abd 5cb6 197 1 rmclomv (rmclomv control driver v1.4)
    47 1021684b 256a 9 1 pcf8584 (I2C Nexus Driver 1.13)
    48 102a689a 464 - 1 i2c_svc (I2C module ver 1.2)
    50 102aae3a 10628 8 1 sockfs (filesystem for sockfs)
    52 102a6c7b 6be 11 1 clone (Clone Pseudodriver 'clone')
    53 1029b5f0 304 2 1 ip6 (IP Streams module)
    53 1029b5f0 304 143 1 ip6 (IP Streams device)
    54 102bafd2 25e40 3 1 tcp (TCP Streams module)
    54 102bafd2 25e40 42 1 tcp (TCP Streams device)
    55 10219963 1059 - 1 md5 (MD5 Message-Digest Algorithm)
    56 1029b734 365 4 1 tcp6 (TCP Streams module)
    56 1029b734 365 146 1 tcp6 (TCP Streams device)
    57 1021a907 9b50 5 1 udp (UDP Streams module)
    57 1021a907 9b50 41 1 udp (UDP Streams device)
    58 1029b8d9 365 6 1 udp6 (UDP Streams module)
    58 1029b8d9 365 145 1 udp6 (UDP Streams device)
    59 1022292f 7f10 7 1 icmp (ICMP Streams module)
    59 1022292f 7f10 5 1 icmp (ICMP Streams device)
    60 1029ba7e 30e 8 1 icmp6 (ICMP Streams module)
    60 1029ba7e 30e 144 1 icmp6 (ICMP Streams device)
    61 10228ea7 651b 9 1 arp (ARP Streams module)
    61 10228ea7 651b 44 1 arp (ARP Streams driver)
    62 1022e16a 4b93 10 1 timod (transport interface str mod)
    64 102d9d66 c83 16 1 conskbd (Console kbd Multiplexer driver )
    65 102da65d 1ffa 15 1 wc (Workstation multiplexer Driver )
    66 102dba4f 4885 37 1 su (su driver 1.47)
    67 102dff2c 3f2e 1 1 elfexec (exec module for elf)
    67 102dff2c 3f2e 0 1 elfexec (32-bit exec module for elf)
    68 102e3d57 3400 3 1 fifofs (filesystem for fifo)
    69 102e6ebf adea 11 1 ldterm (terminal line discipline)
    70 102f13b6 246d 12 1 ttcompat (alt ioctl calls)
    71 102f365a 9223 29 1 zs (Z8530 serial driver V4.125)
    72 102fc375 1568 26 1 ptsl (tty pseudo driver slave 'ptsl')
    73 102fd645 211f 25 1 ptc (tty pseudo driver control 'ptc')
    77 10318d3b 116a9 - 1 usba (USBA: USB Architecture 1.25)
    78 10313719 498c - 1 usbser (USB generic serial module 1.1)
    80 1032d854 15ac5 - 1 usba10 (USBA10: USB 1.0 Architecture 1.)
    81 781b6000 4012 - 1 usba10_usbser (USBA10 Generic Serial Modul
    82 10344153 1c30 13 1 rts (Routing Socket Streams module)
    82 10344153 1c30 43 1 rts (Routing Socket Streams device)
    83 781e8000 f487 15 1 ipsecesp (IP Encapsulating Security Paylo)
    83 781e8000 f487 141 1 ipsecesp (IP Encapsulating Security Paylo)
    84 7814e000 ff46 14 1 ipsecah (IP Authentication Header Stream)
    84 7814e000 ff46 140 1 ipsecah (IP Authentication Header Stream)
    85 7803c000 4af3 105 1 tl (TPI Local Transport Driver - tl)
    86 78042000 44ab 16 1 keysock (keysock module)
    86 78042000 44ab 139 1 keysock (PF_KEY Key Management Socket ST)
    87 78040743 16ea 97 1 sysmsg (System message redirection (fan)
    88 780416bd 82c 0 1 cn (Console redirection driver)
    89 780e3c1a 475 2 1 intpexec (exec mod for interp)
    90 78041d59 2c3 42 1 pipe (pipe(2) syscall)
    90 78041d59 2c3 42 1 pipe (32-bit pipe(2) syscall)
    91 10354c78 f9d 13 1 mm (memory driver)
    92 78046000 8a90 195 1 bge (BCM570x driver v0.22)
    93 7804e000 e868 - 1 gld (Generic LAN Driver (v2))
    94 7805e000 4eac6 217 1 ce (CE Ethernet Driver v1.135)
    95 780b0000 2bd7 - 1 vlan (Ethernet VLAN module (v1) 1.18)
    97 780b4000 322b 115 1 pci_pci (Standard PCI to PCI bridge nexu)
    98 780b7ad5 5ac 19 1 dump (crash dump driver)
    99 780c0000 4421 201 1 doorfs (doors)
    99 780c0000 4421 201 1 doorfs (32-bit door syscalls)
    100 780c6000 2d06 88 1 devinfo (DEVINFO Driver 1.33)
    103 780ca000 ebf8 66 1 ohci (USB OpenHCI Driver 1.23)
    104 781579c6 c03 176 1 inst_sync (instance binding syscall)
    104 781579c6 c03 176 1 inst_sync (32-bit instance binding syscall
    105 780d4c38 1538 4 1 namefs (filesystem for namefs)
    106 7814c6d0 1a98 4 1 logindmux ( LOGIND MUX Driver)
    110 780bf047 d70 14 1 iwscn (Workstation Redirection driver )
    111 7804d698 a4f 17 1 consms (Mouse Driver for Sun 'consms' 5)
    113 780b6bbb 9f7 21 1 log (streams log driver)
    114 780b734a 8f3 22 1 sy (Indirect driver for tty 'sy')
    115 780c8b56 cc4 23 1 ptm (Master streams driver 'ptm')
    116 10342e11 dc6 24 1 pts (Slave Stream Pseudo Terminal dr)
    117 780c5670 a8c 31 1 seeprom (I2C serial EEPROM device driver)
    120 1030a1c5 6a30 - 1 fctl (Sun FC Transport Library v1.12)
    123 780c411c 17ec 34 1 smbus (SMBUS nexus Driver 1.6)
    124 10308a8f 1dea 35 1 random (random number device v1.1)
    125 780e0000 2290 17 1 authsha1 (SHA1-HMAC algorithm)
    127 780b2637 1f01 38 1 openeepr (OPENPROM/NVRAM Driver v1.7)
    131 78188000 30bc0 - 1 s1394 (IEEE 1394 Services Library 1.0)
    143 10355a75 2e1f - 1 hidparser (HID PARSER 1.5)
    146 103256b4 2d2e 60 1 fssnap (snapshot driver)
    153 781af8c7 820 72 1 ksyms (kernel symbols driver)
    156 10345623 2d73 - 1 usba10_hidparser (USBA10 HID PARSER 1.1)
    161 780e2467 1a23 81 1 winlock (Winlock Driver v1.43)
    162 10317889 14ed - 1 seg_drv (Segment Device Driver v1.1)
    165 1030f375 2268 - 1 diaudio (Generic Audio)
    167 1032811a 19cc 89 1 lockstat (Lock Statistics)
    168 78215406 d1e 90 1 kstat (kernel statistics driver)
    169 780e6000 5d08 91 1 vol (Volume Management Driver, 1.87)
    170 780de000 1664 95 1 cpc (cpc sampling driver v1.8)
    170 780de000 1664 179 1 cpc (cpc sampling system call)
    170 780de000 1664 179 1 cpc (32-bit cpc sampling system call)
    172 78259747 ba0 103 1 qec (QEC driver v1.32)
    175 10347bee 4197 107 1 llc1 (LLC Class 1 Driver)
    177 780ec000 4c5e - 1 amsrc1 (Audio Sample Rate Conv. #1 1.2)
    178 780f2000 23ee - 1 audiosup (Audio Device Support 1.9)
    179 780f6000 14f6e - 1 mixer (Audio Mixer 1.41)
    182 1030331b 4edc 114 1 tnf (kernel probes driver 1.48)
    184 7816a000 b3ec 150 1 fcp (Sun FCP Pseudo Driver v1.11)
    185 1034b93d 4cd6 127 1 pm (power management driver v1.95)
    186 780598aa 846 128 1 tod (tod driver 1.0)
    189 780f0baf 1420 138 1 poll (Dev Poll driver)
    190 780f4176 1ecf 147 1 lofi (loopback file driver (1.2))
    193 78142000 499d - 1 pcihp (PCI nexus hotplug support v1.31)
    194 78146605 1ae7 - 1 busra (Bus Resource Allocator (BUSRA) )
    195 780df02c c4c - 1 hpcsvc (hot-plug controller services v1)
    196 78148000 4fe8 - 1 pcicfg (PCI configurator v1.38)
    203 781567ae bb1f - 1 amsrc2 (Audio Sample Rate Conv. #2 1.1)
    214 1034f79b 4805 187 1 sppp (PPP 4.0 mux v1.3)
    215 780da000 3ae0 18 1 sppptun (PPP 4.0 tunnel module v1.2)
    215 780da000 3ae0 188 1 sppptun (PPP 4.0 tunnel driver v1.2)
    218 781f0000 b5c0 191 1 rsm (Remote Shared Memory Driver 1.6)
    219 7804dd6f 2e8 - 1 ipc (common ipc code)
    220 780c95b2 aac - 1 rsmops (RSMOPS module 1.1)
    221 781fb0b0 b33 198 1 rmcadm (rmcadm control driver v1.1)
    222 78174f30 fec 200 1 pca9556 (pca9556 device driver v1.2)
    231 10329430 1069 214 1 fcode (FCode driver 1.8)
    232 1032a2c1 29ec - 1 fcodem (FCode framework 1.13)
    245 78104000 4819 242 1 kb_ps2 (PS/2 Keyboard 1.31, 01/05/09)
    250 781ba000 267e7 250 1 llc2 (SUN LLC2 Class II Streams Drive)
    253 78108000 1bcaa - 1 pcmcia (PCMCIA Nexus Support)
    264 781b2000 304c 263 1 ipdcm (IP/Dialup v1.9)
    265 7814dd68 40a 264 1 ipdptp (IP/Dialup ptp interface v1.9)
    266 7825bd1b 407 265 1 ipd (IP/Dialup mtp interface v1.9)
    268 7826a000 165b8 268 1 wrsmd (RSMPI DLPI 1.4 03/01/08)
    269 7827c000 295e6 19 1 nca (NCA Streams module)
    269 7827c000 295e6 269 1 nca (NCA Streams device 1.2)
    270 1032c3f5 15cc 15 1 mntfs (mount information file system)
    271 78210000 159d2 11 1 tmpfs (filesystem for tmpfs)
    272 78228000 2aa20 106 1 nfs (NFS syscall, client, and common)
    272 78228000 2aa20 106 1 nfs (NFS syscall, client, and common)
    272 78228000 2aa20 16 1 nfs (network filesystem)
    272 78228000 2aa20 7 1 nfs (network filesystem version 2)
    272 78228000 2aa20 17 1 nfs (network filesystem version 3)
    273 78254000 4d9b - 1 rpcsec (kernel RPC security module.)
    274 7825a000 1dc1 - 1 tlimod (KTLI misc module)
    275 7825c000 860f - 1 klmmod (lock mgr common module)
    276 78264000 65e3 18 1 autofs (filesystem for autofs)
    277 10357fa4 109 2 1 IA (interactive scheduling class)
    278 78258a03 f40 3 1 RT (realtime scheduling class)
    279 102a70e1 28c - 1 RT_DPTBL (realtime dispatch table)
    280 103406c9 2878 53 1 semsys (System V semaphore facility)
    280 103406c9 2878 53 1 semsys (32-bit System V semaphore facil)
    281 103064bf 26f8 52 1 shmsys (System V shared memory)
    281 103064bf 26f8 52 1 shmsys (32-bit System V shared memory)
    282 102186fd cf0 207 1 pset (processor sets)
    282 102186fd cf0 207 1 pset (32-bit pset(2) syscall)
    283 102ff5cc 3d82 178 1 kaio (kernel Async I/O)
    283 102ff5cc 3d82 178 1 kaio (kernel Async I/O for 32 bit com)
    284 780a8a5e 1687 20 1 ptem (pty hardware emulator)
    285 781b482c 19d2 21 1 telmod (telnet module)
    [root@vbsmf /kernel/drv] $vi st.conf
    # Copyright (c) 1995-2000 by Sun Microsystems, Inc.
    # All rights reserved.
    #pragma ident "@(#)st.conf 1.27 00/08/29 SMI"
    # This file contains configuration entries for both officially supported
    # devices of Sun Microsystems and many 3rd party devices.
    # The officially supported devices are :
    # "ARCHIVE Python 28388"
    # "ARCHIVE Python 28454"
    # "ARCHIVE Python 29279"
    # "ARCHIVE VIPER 150"
    # "EXABYTE EXB-8200"
    # "EXABYTE EXB-8500"
    # "EXABYTE EXB-8505"
    # "EXABYTE EXB-8900"
    # "HP 88780"
    # "HP C5683A" Note 1
    # "HP C5713A" Note 1
    # "Quantum DLT4000"
    # "Quantum DLT7000"
    # "Quantum DLT8000" Note 1
    # "STK 9840" Note 1
    # "SUN DLT4000"
    # "SUN DLT4700"
    # "SUN DLT7000"
    # "TANDBERG SLR5"
    # "TANDBERG TDC 4200"
    # "TANDBERGMLR1"
    # "TANDBERGMLR3"
    # Notes
    # 1 Drive is configured automatically - no entry is needed in st.conf.
    # The 3rd party devices do apparently work with the configurations listed.
    # All the entries have been taken from the net and probably have worked in
    # the past, but have not been tested by Sun Microsystems. Use these entries
    # as your starting point for generating your configuration entries.
    #tape-config-list=
    # "Emulex MTO2", "Emulex MT02 QIC-11/QIC-24", "MT02",
    # "ANRITSU DMT2120", "Unisys 1/2\" Reel", "ANRITSU",
    # "ARCHIVE Python 28454","Archive Python 4mm Helical Scan","ARCH_Python",
    # "ARCHIVE Python 29279", "Archive Python 4mm DAT Stacker","ARCH_Python",
    # "ARCHIVE Python 28388", "Archive/Conner CTDX004 4mm DAT", "Conner2-DAT",
    # "ARCHIVE VIPER 150", "Archive QIC-150", "QIC150",
    # "ARCHIVE VIPER 255", "Archive QIC-525", "QIC150",
    # "DEC DLT2", "DEC DLT", "DLT2",
    # "DEC TZ87", "DEC DLT", "DLT2",
    # "EXABYTE EXB-2501", "Exabyte EXB-2501 QIC", "EXB-2501",
    # "EXABYTE EXB-4200c", "Exabyte 4mm Helical Scan","Exa4200c",
    # "EXABYTE EXB-8200", "Exabyte EXB-8200 8mm Helical Scan","EXB-8200",
    # "EXABYTE EXB-8500", "Exabyte EXB-8500 8mm Helical Scan","EXB-850X",
    # "EXABYTE EXB-8505", "Exabyte EXB-8505 8mm Helical Scan","EXB-850X",
    # "EXABYTE EXB8500C", "Exabyte 8500C 8mm Helical Scan", "EXB-850X",
    # "EXABYTE EXB-8900", "Mammoth EXB-8900 8mm Helical Scan","EXB-8900",
    # "FUJITSU M1016B M2483B","Fujitsu 1/2\" Cartridge", "Fujitsu_comp",
    # "FUJITSU M248", "Fujitsu 1/2\" Cartridge", "Fujitsu_m248x",
    # "HP 88780", "HP-88780 1/2\" Reel", "HP_half",
    # "HP C1533A", "HP DDS2 4mm DAT loader", "HP_DAT",
    # "HP C1553A ", "HP C1553A 4mm DAT", "HP_DAT",
    # "HP C1537A", "HP DDS-3 4mm DAT ", "HP_DAT_3",
    # "HP C1557A", "HP DDS-3 4mm DAT loader", "HP_DAT_3",
    # "HP HP35470A", "HP 35470A 4mm DAT", "HP_DAT",
    # "HP HP35480A", "HP 35480A 4mm DAT", "HP_DAT",
    # "IBM 03490", "IBM 3490E 1/2\" Cartridge", "CLASS_3490",
    # "IBM 9348", "STK 4220 1/2\" Cartridge", "C3490",
    # "KENNEDY", "Kennedy 1/2\" Reel", "KENNEDY",
    # "LMS", "CDC 1/2\" Cartridge", "LMS",
    # "M4 DATA 123107 SCSI", "M4-Data 1/2\" Reel", "M4_DATA",
    # "Metrum", "Metrum VHS Cartridge", "MetD",
    # "QUANTUM DLT7000", "Quantum DLT7000", "DLT7k-data",
    # "SUN DLT7000", "Sun DLT7000", "DLT7k-data",
    # "Quantum DLT4000", "Quantum DLT4000", "DLT-data",
    # "SUN DLT4000", "DLT4000", "DLT-data",
    # "SUN DLT4700", "DLT4700 Library", "DLT-data",
    # "R-BYTE RB100", "R-Byte Whozits", "DAT",
    # "SONY SDT-5000", "SONY 4mm DAT", "DAT",
    # "SONY SDT-5200", "SONY 4mm DAT", "DAT",
    # "STK 9490", "STK 9490 1/2\" Cartridge", "CLASS_3490",
    # "STK 4280", "STK 4280 1/2\" Cartridge", "C3490",
    # "STK", "STK 1/2\" Cartridge", "CLASS_3490",
    # "TANDBERG 4100", "Tandberg 4100 QIC", "TAND_4100_QIC",
    # "TANDBERG 4200", "Tandberg 4200 QIC", "TAND_4200_QIC",
    # "TANDBERG TDC 4200", "Tandberg QIC 2.5 Gig Tape Drive", "TANDB-2_5G",
    # "TANDBERG SLR5", "Tandberg 8 Gig QIC", "TAND-8G-VAR",
    # "TANDBERGMLR1", "Tandberg MLR1 QIC", "TANDBERG_MLR1",
    # "TANDBERGMLR3", "Tandberg 50 Gig QIC", "TAND-50G-VAR",
    # "TELEX", "STK 4220 1/2\" Cartridge", "C3490",
    # "WANGTEK 51000 SCSI", "Wangtek 1.2GB QIC", "WtQIC",
    # "WANGTEK 5150ES", "Wangtek QIC-150", "WANGTEK_QC150",
    # "WANGTEK 5525ES SCSI", "Wangtek 525MB QIC", "WtQIC",
    # "WANGTEK 6130-HS", "Wangtek 4mm Helical Scan", "WANGTEK_6130",
    # "WangDAT Model 2600", "WangDAT 4mm DAT", "WangDAT",
    # "WangDAT Model 3400", "WangDAT 4mm DAT", "WangDAT",
    # "WangDAT", "Wang DAT 3.81 Helical Scan", "WangDAT",
    # "\076\000", "Fujitsu 1/2\" Cartridge", "Fujitsu_half";
    #ANRITSU = 1,0x25,0,0x41d,4,0x00,0x02,0x03,0x03,1;
    #ARCH_Python= 1,0x2c,0,0xde39,4,0x00,0x8c,0x8c,0x8c,3;
    #CLASS_3490 = 1,0x24,0,0x1c43d,1,0x00,0;
    #C3490 = 1,0x24,0,0x1c43d,4,0x00,0x00,0x00,0x01,2;
    #Conner2-DAT= 1,0x2c,0,0xde39,1,0x00,0;
    #DAT = 1,0x34,0,0x0439,1,0x00,0;
    #DLT2 = 1,0x38,0,0xd639,4,0x17,0x18,0x80,0x81,2;
    #DLT-data = 1,0x38,0,0xD639,4,0x80,0x81,0x82,0x83,2;
    #DLT7k-data = 1,0x38,0,0xD639,4,0x82,0x83,0x84,0x85,2;
    #EXB-2501 = 1,0x28,1024,0x442,1,0x00,0;
    #EXB-8200 = 1,0x28,0,0x8c79,1,0x00,0;
    #EXB-850X = 1,0x29,0,0xce39,4,0x14,0x15,0x8c,0x8c,1;
    #EXB-8900 = 1,0x29,0,0x19E39,4,0x27,0x27,0x27,0x27,3;
    #Exa4200c = 1,0x34,0,0x1639,2,0x63,0x0,1;
    #Fujitsu_comp = 1,0x21,0,0x18639,4,0x00,0x00,0x00,0x09,1;
    #Fujitsu_half = 1,0x21,0,0x63b,1,0x00,0;
    #Fujitsu_m248x = 1,0x21,0,0xc639,1,0x00,0;
    #HP_DAT = 1,0x34,0,0x19679,1,0x0,0;
    #HP_DAT_3 = 1,0x34,0,0x9639,4,0x00,0x8c,0x8c,0x8c,1;
    #HP_half = 1,0x23,0,0x41d,4,0x01,0x02,0x03,0xc3,1;
    #KENNEDY = 1,0x22,0,0x41d,4,0x01,0x02,0x03,0x03,1;
    #LMS = 1,0x20,0,0x66b,1,0x00,0;
    #M4_DATA = 1,0x27,0,0x49d,4,0x01,0x02,0x06,0x06,1;
    #MT02 = 1,0x14,512,0x202,4,0x84,0x05,0x05,0x05,1;
    #MetD = 1,0x36,0,0x1639,1,0x00,0;
    #QIC150 = 1,0x15,512,0x642,1,0x00,0;
    #TANDB-2_5G = 1,0x32,0,0xD67b,1,0x0,0;
    #TAND-8G-VAR = 1,0x37,0,0x963b,4,0xA0,0xD0,0xD0,0xD0,3;
    #TANDBERG_MLR1 = 1,0x32,512,0x463a,1,0x00,0;
    #TAND-50G-VAR = 1,0x37,0,0x963b,4,0xA0,0xD0,0xD0,0xD0,3;
    #TAND_4100_QIC = 1,0x32,512,0x463a,1,0x00,0;
    #TAND_4200_QIC = 1,0x32,512,0x463a,1,0x00,0;
    #WANGTEK_6130 = 1,0x2a,0,0x659,1,0x00,0;
    #WANGTEK_QC150 = 1,0x16,512,0x642,1,0x00,0;
    #WangDAT = 1,0x2b,0,0x659,1,0x00,0;
    #WangDAT = 1,0x34,0,0x0679,1,0x00,0;
    #WtQIC = 1,0x32,512,0x467a,1,0x00,0;
    name="st" class="scsi"
    target=0 lun=0;
    name="st" class="scsi"
    target=1 lun=0;
    name="st" class="scsi"
    target=2 lun=0;
    name="st" class="scsi"
    target=3 lun=0;
    name="st" class="scsi"
    target=4 lun=0;
    name="st" class="scsi"
    target=5 lun=0;
    name="st" class="scsi"
    target=6 lun=0;
    # as your starting point for generating your configuration entries.
    #tape-config-list=
    # "Emulex MTO2", "Emulex MT02 QIC-11/QIC-24", "MT02",
    # "ANRITSU DMT2120", "Unisys 1/2\" Reel", "ANRITSU",
    # "ARCHIVE Python 28454","Archive Python 4mm Helical Scan","ARCH_Python",
    # "ARCHIVE Python 29279", "Archive Python 4mm DAT Stacker","ARCH_Python",
    # "ARCHIVE Python 28388", "Archive/Conner CTDX004 4mm DAT", "Conner2-DAT",
    # "ARCHIVE VIPER 150", "Archive QIC-150", "QIC150",
    # "ARCHIVE VIPER 255", "Archive QIC-525", "QIC150",
    # "DEC DLT2", "DEC DLT", "DLT2",
    # "DEC TZ87", "DEC DLT", "DLT2",
    # "EXABYTE EXB-2501", "Exabyte EXB-2501 QIC", "EXB-2501",
    # "EXABYTE EXB-4200c", "Exabyte 4mm Helical Scan","Exa4200c",
    # "EXABYTE EXB-8200", "Exabyte EXB-8200 8mm Helical Scan","EXB-8200",
    # "EXABYTE EXB-8500", "Exabyte EXB-8500 8mm Helical Scan","EXB-850X",
    # "EXABYTE EXB-8505", "Exabyte EXB-8505 8mm Helical Scan","EXB-850X",
    # "EXABYTE EXB8500C", "Exabyte 8500C 8mm Helical Scan", "EXB-850X",
    # "EXABYTE EXB-8900", "Mammoth EXB-8900 8mm Helical Scan","EXB-8900",
    # "FUJITSU M1016B M2483B","Fujitsu 1/2\" Cartridge", "Fujitsu_comp",
    # "FUJITSU M248", "Fujitsu 1/2\" Cartridge", "Fujitsu_m248x",
    # "HP 88780", "HP-88780 1/2\" Reel", "HP_half",
    # "HP C1533A", "HP DDS2 4mm DAT loader", "HP_DAT",
    # "HP C1553A ", "HP C1553A 4mm DAT", "HP_DAT",
    # "HP C1537A", "HP DDS-3 4mm DAT ", "HP_DAT_3",
    # "HP C1557A", "HP DDS-3 4mm DAT loader", "HP_DAT_3",
    # "HP HP35470A", "HP 35470A 4mm DAT", "HP_DAT",
    # "HP HP35480A", "HP 35480A 4mm DAT", "HP_DAT",
    # "IBM 03490", "IBM 3490E 1/2\" Cartridge", "CLASS_3490",
    # "IBM 9348", "STK 4220 1/2\" Cartridge", "C3490",
    # "KENNEDY", "Kennedy 1/2\" Reel", "KENNEDY",
    # "LMS", "CDC 1/2\" Cartridge", "LMS",
    # "M4 DATA 123107 SCSI", "M4-Data 1/2\" Reel", "M4_DATA",
    # "Metrum", "Metrum VHS Cartridge", "MetD",
    # "QUANTUM DLT7000", "Quantum DLT7000", "DLT7k-data",
    # "SUN DLT7000", "Sun DLT7000", "DLT7k-data",
    # "Quantum DLT4000", "Quantum DLT4000", "DLT-data",
    # "SUN DLT4000", "DLT4000", "DLT-data",
    # "SUN DLT4700", "DLT4700 Library", "DLT-data",
    # "R-BYTE RB100", "R-Byte Whozits", "DAT",
    # "SONY SDT-5000", "SONY 4mm DAT", "DAT",
    # "SONY SDT-5200", "SONY 4mm DAT", "DAT",
    # "STK 9490", "STK 9490 1/2\" Cartridge", "CLASS_3490",
    # "STK 4280", "STK 4280 1/2\" Cartridge", "C3490",
    # "STK", "STK 1/2\" Cartridge", "CLASS_3490",
    # "TANDBERG 4100", "Tandberg 4100 QIC", "TAND_4100_QIC",
    # "TANDBERG 4200", "Tandberg 4200 QIC", "TAND_4200_QIC",
    # "TANDBERG TDC 4200", "Tandberg QIC 2.5 Gig Tape Drive", "TANDB-2_5G",
    # "TANDBERG SLR5", "Tandberg 8 Gig QIC", "TAND-8G-VAR",
    # "TANDBERGMLR1", "Tandberg MLR1 QIC", "TANDBERG_MLR1",
    # "TANDBERGMLR3", "Tandberg 50 Gig QIC", "TAND-50G-VAR",
    # "TELEX", "STK 4220 1/2\" Cartridge", "C3490",
    # "WANGTEK 51000 SCSI", "Wangtek 1.2GB QIC", "WtQIC",
    # "WANGTEK 5150ES", "Wangtek QIC-150", "WANGTEK_QC150",
    # "WANGTEK 5525ES SCSI", "Wangtek 525MB QIC", "WtQIC",
    # "WANGTEK 6130-HS", "Wangtek 4mm Helical Scan", "WANGTEK_6130",
    # "WangDAT Model 2600", "WangDAT 4mm DAT", "WangDAT",
    # "WangDAT Model 3400", "WangDAT 4mm DAT", "WangDAT",
    # "WangDAT", "Wang DAT 3.81 Helical Scan", "WangDAT",
    # "\076\000", "Fujitsu 1/2\" Cartridge", "Fujitsu_half";
    #ANRITSU = 1,0x25,0,0x41d,4,0x00,0x02,0x03,0x03,1;
    #ARCH_Python= 1,0x2c,0,0xde39,4,0x00,0x8c,0x8c,0x8c,3;
    #CLASS_3490 = 1,0x24,0,0x1c43d,1,0x00,0;
    #C3490 = 1,0x24,0,0x1c43d,4,0x00,0x00,0x00,0x01,2;
    #Conner2-DAT= 1,0x2c,0,0xde39,1,0x00,0;
    #DAT = 1,0x34,0,0x0439,1,0x00,0;
    #DLT2 = 1,0x38,0,0xd639,4,0x17,0x18,0x80,0x81,2;
    #DLT-data = 1,0x38,0,0xD639,4,0x80,0x81,0x82,0x83,2;
    #DLT7k-data = 1,0x38,0,0xD639,4,0x82,0x83,0x84,0x85,2;
    #EXB-2501 = 1,0x28,1024,0x442,1,0x00,0;
    #EXB-8200 = 1,0x28,0,0x8c79,1,0x00,0;
    #EXB-850X = 1,0x29,0,0xce39,4,0x14,0x15,0x8c,0x8c,1;
    #EXB-8900 = 1,0x29,0,0x19E39,4,0x27,0x27,0x27,0x27,3;
    #Exa4200c = 1,0x34,0,0x1639,2,0x63,0x0,1;
    #Fujitsu_comp = 1,0x21,0,0x18639,4,0x00,0x00,0x00,0x09,1;
    #Fujitsu_half = 1,0x21,0,0x63b,1,0x00,0;
    #Fujitsu_m248x = 1,0x21,0,0xc639,1,0x00,0;
    #HP_DAT = 1,0x34,0,0x19679,1,0x0,0;
    #HP_DAT_3 = 1,0x34,0,0x9639,4,0x00,0x8c,0x8c,0x8c,1;
    #HP_half = 1,0x23,0,0x41d,4,0x01,0x02,0x03,0xc3,1;
    #KENNEDY = 1,0x22,0,0x41d,4,0x01,0x02,0x03,0x03,1;
    #LMS = 1,0x20,0,0x66b,1,0x00,0;
    #M4_DATA = 1,0x27,0,0x49d,4,0x01,0x02,0x06,0x06,1;
    #MT02 = 1,0x14,512,0x202,4,0x84,0x05,0x05,0x05,1;
    #MetD = 1,0x36,0,0x1639,1,0x00,0;
    #QIC150 = 1,0x15,512,0x642,1,0x00,0;
    #TANDB-2_5G = 1,0x32,0,0xD67b,1,0x0,0;
    #TAND-8G-VAR = 1,0x37,0,0x963b,4,0xA0,0xD0,0xD0,0xD0,3;
    #TANDBERG_MLR1 = 1,0x32,512,0x463a,1,0x00,0;
    #TAND-50G-VAR = 1,0x37,0,0x963b,4,0xA0,0xD0,0xD0,0xD0,3;
    #TAND_4100_QIC = 1,0x32,512,0x463a,1,0x00,0;
    #TAND_4200_QIC = 1,0x32,512,0x463a,1,0x00,0;
    #WANGTEK_6130 = 1,0x2a,0,0x659,1,0x00,0;
    #WANGTEK_QC150 = 1,0x16,512,0x642,1,0x00,0;
    #WangDAT = 1,0x2b,0,0x659,1,0x00,0;
    #WangDAT = 1,0x34,0,0x0679,1,0x00,0;
    #WtQIC = 1,0x32,512,0x467a,1,0x00,0;
    name="st" class="scsi"
    target=0 lun=0;
    name="st" class="scsi"
    target=1 lun=0;
    name="st" class="scsi"
    target=2 lun=0;
    name="st" class="scsi"
    target=3 lun=0;
    name="st" class="scsi"
    target=4 lun=0;
    name="st" class="scsi"
    target=5 lun=0;
    nam

    Sorry Simon, but I had to jump in on that.
    You are correct that they'll need to probe from OBP, however...
    jumping down from an active OS will leave much in various bus registers and they'll lock up the entire system when a probe is done that way. They'll have to power-cycle the chassis to recover.
    Vassilios,
    When you have the chance for testing this system, bring the chassis down to the OBP level. ( init 0 is acceptable ) then do:
    OK setenv auto-boot? false <enter>
    OK reset-all <enter>
    The chassis will cycle and automatically stop at the OK prompt, with empty bus registers, and you can probe all you wish.
    The peripheral MUST be seen at the hardware level before an OS can dream of manipulating it.
    But, if I may ask...
    You attached the tape peripheral to where?
    (the integrated onboard SCSI connector or to an add-on card?)
    Is it a Single-Ended SCSI device, a HVD SCSI device, or a LVD SCSI device?
    If your cable is attached to an appropriate add-on card, do you need to install any packages for that card?

  • Why josso has no DataSource Credential Store?

    Hello everyone,
    Do you take care of studying the josso-gateway-config.xml and find the Credential Stroe block is lacking of a way to store the username/passport pairs by DataSource?
    this is the josso-gateway-config.xml listed as below:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!--
    ~ Copyright (c) 2004-2006, Novascope S.A. and the JOSSO team
    ~ All rights reserved.
    ~ Redistribution and use in source and binary forms, with or
    ~ without modification, are permitted provided that the following
    ~ conditions are met:
    ~
    ~ * Redistributions of source code must retain the above copyright
    ~ notice, this list of conditions and the following disclaimer.
    ~
    ~ * Redistributions in binary form must reproduce the above copyright
    ~ notice, this list of conditions and the following disclaimer in
    ~ the documentation and/or other materials provided with the
    ~ distribution.
    ~
    ~ * Neither the name of the JOSSO team nor the names of its
    ~ contributors may be used to endorse or promote products derived
    ~ from this software without specific prior written permission.
    ~
    ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    ~ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    ~ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    ~ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    ~ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
    ~ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    ~ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    ~ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    ~ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    ~ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    ~ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    ~ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    ~ POSSIBILITY OF SUCH DAMAGE.
    -->
    <domain>
    <name>JOSSO</name>
    <type>web</type>
    <!--sso-web-config-->
    <!-- Optional : The URL where the user will be redirected after a successfull login only if josso_back_to request parameter
    is not present when accessing the login url
    <loginBackToURL>http://localhost:8080/partnerapp/protected/</loginBackToURL>
    -->
    <!-- Optional : The URL where the user will be redirected after a logout only if josso_back_to is not present
    when accessing the logout url
    <logoutBackToURL>http://localhost:8080/partnerapp/protected/</logoutBackToURL>
    -->
    <!-- Session token properties -->
    <!--session-token-->
    <!-- Optional : Use a secure session token, a secure channel like SSL must be available for this to work
    <secure>false</secure>
    -->
    <!--/session-token-->
    <!--/sso-web-config-->
    <authenticator>
    <class>org.josso.auth.AuthenticatorImpl</class>
    <authentication-schemes>
    <!-- Basic Authentication Scheme -->
    <authentication-scheme>
    <name>basic-authentication</name>
    <class>org.josso.auth.scheme.UsernamePasswordAuthScheme</class>
    <!--
    The message digest algorithm to be used when hashing passwords.
    This must be an algorithm supported by the java.security.MessageDigest class
    on your platform.
    In J2SE 1.4.2 you can check :
    Java Cryptography Architecture API Specification & Reference - Apendix B : Algorithms
    Values are : MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512,etc.
    To provide LDAP support, also CRYPT is available.
    -->
    <hashAlgorithm>MD5</hashAlgorithm>
    <!-- Supported values are HEX, BASE64. Mandatory if hashAlgorithm was specified -->
    <hashEncoding>HEX</hashEncoding>
    <!-- Some hash algorithms, like CRYPT, use this property. The default value is 2.
    <saltLength>2</saltLength>
    -->
    <ignorePasswordCase>false</ignorePasswordCase>
    <ignoreUserCase>false</ignoreUserCase>
    <!-- ========================================================= -->
    <!-- JDBC Credential Store -->
    <!-- -->
    <!-- Always scape comma chars [,] in queries because -->
    <!-- jakarta commons-configuration uses them to define arrays. -->
    <!-- ========================================================= -->
    <!--
    <credential-store>
    <class>org.josso.gateway.identity.service.store.db.JDBCIdentityStore</class>
    <credentialsQueryString>
    SELECT login AS username , password AS password FROM josso_user WHERE login = ?
    </credentialsQueryString>
    <connectionName>josso</connectionName>
    <connectionPassword>josso</connectionPassword>
    <connectionURL>jdbc:oracle:thin:@localhost:1521:josso_db</connectionURL>
    <driverName>oracle.jdbc.driver.OracleDriver</driverName>
    </credential-store>
    <credential-store>
    <class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
    <credentialsQueryString>SELECT login AS username , password AS password FROM josso_user WHERE login = ?</credentialsQueryString>
    <dsJndiName>java:jdbc/JossoSamplesDB</dsJndiName>
    </credential-store>
    -->
    <!-- =============================================================== -->
    <!-- LDAP Credential Store -->
    <!-- -->
    <!-- Chcek javadoc for configuration details : -->
    <!-- org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore -->
    <!-- =============================================================== -->
    <!--
    <credential-store>
    <class>org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore</class>
    <initialContextFactory>com.sun.jndi.ldap.LdapCtxFactory</initialContextFactory>
    <providerUrl>ldap://ldaphost</providerUrl>
    <securityPrincipal>cn=Manager,dc=my-domain,dc=com</securityPrincipal>
    <securityCredential>secret</securityCredential>
    <securityAuthentication>simple</securityAuthentication>
    <ldapSearchScope>SUBTREE</ldapSearchScope>
    <usersCtxDN>ou=People,dc=my-domain,dc=com</usersCtxDN>
    <principalUidAttributeID>uid</principalUidAttributeID>
    <rolesCtxDN>ou=Roles,dc=my-domain,dc=com</rolesCtxDN>
    <uidAttributeID>uniquemember</uidAttributeID>
    <roleAttributeID>cn</roleAttributeID>
    <credentialQueryString>uid=username,userPassword=password</credentialQueryString>
    <userPropertiesQueryString>mail=mail,cn=description</userPropertiesQueryString>
    </credential-store>
    -->
    <!-- ================================================= -->
    <!-- Memory Credential Store -->
    <!-- ================================================= -->
    <credential-store>
    <class>org.josso.gateway.identity.service.store.MemoryIdentityStore</class>
    <credentialsFileName>josso-credentials.xml</credentialsFileName>
    </credential-store>
    <!-- ================================================= -->
    <!-- Credential Store Key adapter -->
    <!-- ================================================= -->
    <credential-store-key-adapter>
    <class>org.josso.gateway.identity.service.store.SimpleIdentityStoreKeyAdapter</class>
    </credential-store-key-adapter>
    </authentication-scheme>
    <!-- Strong Authentication Scheme -->
    <authentication-scheme>
    <name>strong-authentication</name>
    <class>org.josso.auth.scheme.X509CertificateAuthScheme</class>
    <!-- ========================================================= -->
    <!-- JDBC Credential Store -->
    <!-- -->
    <!-- Always scape comma chars [,] in queries because -->
    <!-- jakarta commons-configuration uses them to define arrays. -->
    <!-- ========================================================= -->
    <!--
    <credential-store>
    <class>org.josso.gateway.identity.service.store.db.JDBCIdentityStore</class>
    <credentialsQueryString>
    SELECT login AS username , password AS password FROM josso_user WHERE login = ?
    </credentialsQueryString>
    <connectionName>josso</connectionName>
    <connectionPassword>josso</connectionPassword>
    <connectionURL>jdbc:oracle:thin:@localhost:1521:josso_db</connectionURL>
    <driverName>oracle.jdbc.driver.OracleDriver</driverName>
    </credential-store>
    -->
    <!-- =============================================================== -->
    <!-- LDAP Credential Store -->
    <!-- -->
    <!-- Chcek javadoc for configuration details : -->
    <!-- org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore -->
    <!-- =============================================================== -->
    <!--
    <credential-store>
    <class>org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore</class>
    <initialContextFactory>com.sun.jndi.ldap.LdapCtxFactory</initialContextFactory>
    <providerUrl>ldap://ldaphost</providerUrl>
    <securityPrincipal>cn=Manager,dc=my-domain,dc=com</securityPrincipal>
    <securityCredential>secret</securityCredential>
    <securityAuthentication>simple</securityAuthentication>
    <ldapSearchScope>SUBTREE</ldapSearchScope>
    <usersCtxDN>ou=People,dc=my-domain,dc=com</usersCtxDN>
    <principalUidAttributeID>uid</principalUidAttributeID>
    <rolesCtxDN>ou=Roles,dc=my-domain,dc=com</rolesCtxDN>
    <uidAttributeID>uniquemember</uidAttributeID>
    <roleAttributeID>cn</roleAttributeID>
    <credentialQueryString>uid=username,userCertificate;binary=userCertificate</credentialQueryString>
    <userPropertiesQueryString>mail=mail,cn=description</userPropertiesQueryString>
    </credential-store>
    -->
    <!-- ================================================= -->
    <!-- Memory Credential Store -->
    <!-- ================================================= -->
    <credential-store>
    <class>org.josso.gateway.identity.service.store.MemoryIdentityStore</class>
    <credentialsFileName>josso-credentials.xml</credentialsFileName>
    </credential-store>
    <!-- ================================================= -->
    <!-- Credential Store Key adapter -->
    <!-- ================================================= -->
    <credential-store-key-adapter>
    <class>org.josso.gateway.identity.service.store.SimpleIdentityStoreKeyAdapter</class>
    </credential-store-key-adapter>
    </authentication-scheme>
    </authentication-schemes>
    </authenticator>
    <sso-identity-manager>
    <class>org.josso.gateway.identity.service.SSOIdentityManagerImpl</class>
    <!-- ========================================================= -->
    <!-- DataSource Identity Store -->
    <!-- -->
    <!-- Always scape comma chars [,] in queries because -->
    <!-- jakarta commons-configuration uses them to define arrays. -->
    <!-- ========================================================= -->
    <!--
    <sso-identity-store>
    <class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
    <userQueryString>
    SELECT login FROM josso_user WHERE login = ?
    </userQueryString>
    <userPropertiesQueryString>
    SELECT 'user.description' AS name , description AS value FROM josso_user WHERE login = ?
    UNION
    SELECT name AS name , value AS value FROM josso_user_property WHERE login = ?
    </userPropertiesQueryString>
    <rolesQueryString>
    SELECT josso_role.name FROM josso_role , josso_user_role , josso_user WHERE josso_user.login = ? AND josso_user.login = josso_user_role.login AND josso_role.name = josso_user_role.name
    </rolesQueryString>
    <dsJndiName>java:jdbc/JossoSamplesDB</dsJndiName>
    </sso-identity-store>
    -->
    <!-- ========================================================= -->
    <!-- JDBC Identity Store -->
    <!-- -->
    <!-- Always scape comma chars [,] in queries because -->
    <!-- jakarta commons-configuration uses them to define arrays. -->
    <!-- ========================================================= -->
    <!--sso-identity-store>
    <class>org.josso.gateway.identity.service.store.db.JDBCIdentityStore</class>
    <userQueryString>
    SELECT login FROM josso_user WHERE login = ?
    </userQueryString>
    You could use a UNION to select properties from different tables/columns :
    SELECT 'user.lastName' AS name , lastName AS value FROM josso_user WHERE login = ?
    UNION
    SELECT 'user.name' AS name , name AS value FROM josso_user WHERE login = ?
    UNION
    SELECT name AS name , value AS value FROM josso_user_properties WHERE login = ?
    <userPropertiesQueryString>
    SELECT 'user.description' AS name , description AS value FROM josso_user WHERE login = ?
    UNION
    SELECT name AS name , value AS value FROM josso_user_property WHERE login = ?
    </userPropertiesQueryString>
    <rolesQueryString>
    SELECT josso_role.name FROM josso_role , josso_user_role , josso_user WHERE josso_user.login = ? AND josso_user.login = josso_user_role.login AND josso_role.name = josso_user_role.name
    </rolesQueryString>
    <connectionName>josso</connectionName>
    <connectionPassword>josso</connectionPassword>
    <connectionURL>jdbc:oracle:thin:@localhost:1521:josso_db</connectionURL>
    <driverName>oracle.jdbc.driver.OracleDriver</driverName>
    </sso-identity-store-->
    <!-- =============================================================== -->
    <!-- LDAP Identity Store -->
    <!-- -->
    <!-- Chcek javadoc for configuration details : -->
    <!-- org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore -->
    <!-- ================================================= -->
    <!--
    <sso-identity-store>
    <class>org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore</class>
    <initialContextFactory>com.sun.jndi.ldap.LdapCtxFactory</initialContextFactory>
    <providerUrl>ldap://ldaphost</providerUrl>
    <securityPrincipal>cn=Manager,dc=my-domain,dc=com</securityPrincipal>
    <securityCredential>secret</securityCredential>
    <securityAuthentication>simple</securityAuthentication>
    <ldapSearchScope>SUBTREE</ldapSearchScope>
    <usersCtxDN>ou=People,dc=my-domain,dc=com</usersCtxDN>
    <principalUidAttributeID>uid</principalUidAttributeID>
    <rolesCtxDN>ou=Roles,dc=my-domain,dc=com</rolesCtxDN>
    <uidAttributeID>uniquemember</uidAttributeID>
    <roleAttributeID>cn</roleAttributeID>
    <credentialQueryString>uid=username,userPassword=password</credentialQueryString>
    <userPropertiesQueryString>mail=mail,cn=description</userPropertiesQueryString>
    </sso-identity-store>
    -->
    <!-- ================================================= -->
    <!-- Memory Identity Store -->
    <!-- ================================================= -->
    <sso-identity-store>
    <class>org.josso.gateway.identity.service.store.MemoryIdentityStore</class>
    <usersFileName>josso-users.xml</usersFileName>
    </sso-identity-store>
    <!-- ================================================= -->
    <!-- Identity Store Key adapter -->
    <!-- ================================================= -->
    <sso-identity-store-key-adapter>
    <class>org.josso.gateway.identity.service.store.SimpleIdentityStoreKeyAdapter</class>
    </sso-identity-store-key-adapter>
    </sso-identity-manager>
    <sso-session-manager>
    <class>org.josso.gateway.session.service.SSOSessionManagerImpl</class>
    <!--
    Set the maximum time interval, in minutes, between client requests before the SSO Service will invalidate
    the session. A negative time indicates that the session should never time out.
    -->
    <maxInactiveInterval>30</maxInactiveInterval>
    <!-- Max number of sessions per user, default 1
    A negative value indicates that an unlimited number of sessions per user is allowed.
    -->
    <maxSessionsPerUser>-1</maxSessionsPerUser>
    <!--
    If true, when the max number of sessions per user is exceeded,
    an already existing session will be invalidated to create a new one.
    If false, when the max number of sessions per user is exceeded,
    an exception is thrown and the new session is not created.
    -->
    <invalidateExceedingSessions>false</invalidateExceedingSessions>
    <!--
    Time interval, in milliseconds, between exired sessions cleanup.
    -->
    <sessionMonitorInterval>10000</sessionMonitorInterval>
    <!-- =================================================================== -->
    <!-- Serialized Session Store -->
    <!-- -->
    <!-- Session Store implementation which uses Java Serialization to -->
    <!-- persist Single Sign-On user sessions. -->
    <!-- It allows to reconstruct the session state after a system shutdown. -->
    <!-- =================================================================== -->
    <!--
    <sso-session-store>
    <class>org.josso.gateway.session.service.store.SerializedSessionStore</class>
    file where serialized sessions will be stored (optional)
    <serializedFile>/tmp/josso_sessions.ser</serializedFile>
    </sso-session-store>
    -->
    <!-- =============================================================== -->
    <!-- DataSource Session Store -->
    <!-- -->
    <!-- This store persists SSO sessions in a RDBMS, it's usefull for -->
    <!-- example when multiple SSO servers must share session information-->
    <!-- like in a cluster. -->
    <!-- -->
    <!-- NOTE :Remember to escape spetial chars like < with < , etc -->
    <!-- -->
    <!-- -->
    <!-- Chcek javadoc for configuration details : -->
    <!-- org.josso.gateway.session.service.store.db.DataSourceSessionStore -->
    <!-- =============================================================== -->
    <!--
    <sso-session-store>
    <class>org.josso.gateway.session.service.store.db.DataSourceSessionStore</class>
    <dsJndiName>java:jdbc/JossoSamplesDB</dsJndiName>
    <sizeQuery>SELECT COUNT(*) FROM JOSSO_SESSION</sizeQuery>
    <keysQuery>SELECT session_id FROM JOSSO_SESSION</keysQuery>
    <loadAllQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION</loadAllQuery>
    <loadQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE session_id = ?</loadQuery>
    <loadByUserNameQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE username = ?</loadByUserNameQuery>
    <loadByLastAccessTimeQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE last_access_time < ?</loadByLastAccessTimeQuery>
    <loadByValidQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE valid = ?</loadByValidQuery>
    <deleteDml>DELETE FROM JOSSO_SESSION WHERE session_id = ?</deleteDml>
    <deleteAllDml>DELETE FROM JOSSO_SESSION</deleteAllDml>
    <insertDml>INSERT INTO JOSSO_SESSION (session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid) VALUES (?, ?, ?, ?, ?, ?, ?) </insertDml>
    <dsJndiName>java:jdbc/JossoSamplesDB</dsJndiName>
    </sso-session-store>
    -->
    <!-- =============================================================== -->
    <!-- Jdbc Session Store -->
    <!-- -->
    <!-- This store persists SSO sessions in a RDBMS, it's usefull for -->
    <!-- example when multiple SSO servers must share session information-->
    <!-- like in a cluster. -->
    <!-- -->
    <!-- NOTE :Remember to escape spetial chars like < with < , etc -->
    <!-- -->
    <!-- Chcek javadoc for configuration details : -->
    <!-- org.josso.gateway.session.service.store.db.JdbcSessionStore -->
    <!-- =============================================================== -->
    <!--
    <sso-session-store>
    <class>org.josso.gateway.session.service.store.db.JdbcSessionStore</class>
    <connectionName>josso</connectionName>
    <connectionPassword>josso</connectionPassword>
    <connectionURL>jdbc:oracle:thin:@localhost:1521:josso_db</connectionURL>
    <driverName>oracle.jdbc.driver.OracleDriver</driverName>
    <sizeQuery>SELECT COUNT(*) FROM JOSSO_SESSION</sizeQuery>
    <keysQuery>SELECT session_id FROM JOSSO_SESSION</keysQuery>
    <loadAllQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION</loadAllQuery>
    <loadQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE session_id = ?</loadQuery>
    <loadByUserNameQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE username = ?</loadByUserNameQuery>
    <loadByLastAccessTimeQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE last_access_time < ?</loadByLastAccessTimeQuery>
    <loadByValidQuery>SELECT session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid FROM JOSSO_SESSION WHERE valid = ?</loadByValidQuery>
    <deleteDml>DELETE FROM JOSSO_SESSION WHERE session_id = ?</deleteDml>
    <deleteAllDml>DELETE FROM JOSSO_SESSION</deleteAllDml>
    <insertDml>INSERT INTO JOSSO_SESSION (session_id, userName, creation_time, last_access_time, access_count, max_inactive_interval, valid) VALUES (?, ?, ?, ?, ?, ?, ?) </insertDml>
    </sso-session-store>
    -->
    <!-- =============================================================== -->
    <!-- Memory Session Store -->
    <!-- =============================================================== -->
    <sso-session-store>
    <class>org.josso.gateway.session.service.store.MemorySessionStore</class>
    </sso-session-store>
    <sso-session-id-generator>
    <class>org.josso.gateway.session.service.SessionIdGeneratorImpl</class>
    <!--
    The message digest algorithm to be used when generating session
    identifiers. This must be an algorithm supported by the
    java.security.MessageDigest class on your platform.
    In J2SE 1.4.2 you can check :
    Java Cryptography Architecture API Specification & Reference - Apendix A : Standard Names
    Values are : MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
    -->
    <algorithm>MD5</algorithm>
    </sso-session-id-generator>
    </sso-session-manager>
    <!-- SSO Audit Manager compoment -->
    <sso-audit-manager>
    <class>org.josso.gateway.audit.service.SSOAuditManagerImpl</class>
    <!--
    List of handlers that will process this request
    Every handler must have its own unique name.
    -->
    <handlers>
    <!-- This handler logs all audit trails using Log4J, under the given category -->
    <handler>
    <class>org.josso.gateway.audit.service.handler.LoggerAuditTrailHandler</class>
    <name>LoggerAuditTrailHandler</name>
    <category>org.josso.gateway.audit.SSO_AUDIT</category>
    </handler>
    <!--
    <handler>
    <class>MyOtherHandler</class>
    <name>MyOhterHandlerName</name>
    <myProperty>value</myProperty>
    </handler>
    -->
    </handlers>
    </sso-audit-manager>
    <!-- SSO Event Manager component -->
    <sso-event-manager>
    <class>org.josso.gateway.event.security.JMXSSOEventManagerImpl</class>
    <!--
    JMX Name of the EventManager MBean that will send SSO Events as JMX Notifications
    The MBean will be registered by the MBeanComponentKeeper.
    -->
    <oname>josso:type=SSOEventManager</oname>
    <!-- You can add your own listeners here : -->
    <!-- Every listener should have a unique name -->
    <!--
    <listeners>
    <listener>
    <class>com.myCompany.MyEventListener</class>
    <name>MyEventListener</name>
    <property1>MyListenerProperty1Value</property1>
    </listener>
    <listener>
    <class>com.myCompany.MyOtherEventListener</class>
    <name>MyOtherEventListener</name>
    <propertyA>MyOtherListenerPropertyAValue</propertyA>
    </listener>
    </listeners>
    -->
    </sso-event-manager>
    </domain>
    Is it means there is only way in Josso to save the username/passport by use of JDBC?
    If you find the datasource can be used, plz tell me how?

    oH, sorry , I found it !
    there is no problem here!

  • An unexpected error has been detected by HotSpot Virtual Machine:

    Hi
    When I upload the xml file with dubug window.
    When I have debug then this message will come..
    So give me a solution..
    Here at below I have pasted files. in which I want to by pass the ldap..
    So give me suggestion what to do with that files.
    What's wrong with that file ?
    Jiten
    18 Oct 2007 17:02:09 0 INFO [main] security.SecurityUtil - SecurityUtil.login: Called with [email protected]; password=[C@1797795; sourceIpAddress=192.168.5.14; weblogin=false; realm=null
    18 Oct 2007 17:02:09 16    INFO  [main] security.SecurityUtil - login: start login: username: [email protected]
    18 Oct 2007 17:02:09 125 INFO [main] BOOT - -- boot log messages -->
    [BOOT] INFO: Loading OJB's properties: file:/C:/LMS/gsnx/deploy/webapp/gsnx.ear/webapp.war/WEB-INF/classes/OJB.properties
    [BOOT] WARN: Can't read logging properties file using path 'OJB-logging.properties', message is:
    C:\LMS\gsnx\OJB-logging.properties (The system cannot find the file specified)
    Will try to load logging properties from OJB.properties file
    [BOOT] INFO: Logging: Found 'log4j.properties' file, use class org.apache.ojb.broker.util.logging.Log4jLoggerImpl
    [BOOT] INFO: Log4J is already configured, will not search for log4j properties file
    18 Oct 2007 17:02:12 3282 INFO [main] security.SecurityUtil - SecurityUtil.login: Calling authentication with [email protected]; password=[C@1797795; realm=null
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d85c14f, pid=4032, tid=3260
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed mode)
    # Problematic frame:
    # V  [jvm.dll+0x11c14f]
    # An error report file with more information is saved as hs_err_pid4032.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    Here :This is my login.config file..
    * Copyright (c) 2003-2005 E2open Inc. All rights reserved.
    * gnsx security configuration file
    * Note:
    * 1. At installation time, java.security file in your jre's lib/security/ directory should
    * be edited add the following line (ganx.home} is the home directory of gsnx install
    * login.config.url.1=file:{gsnx.home}/conf/login.config
    * 2. Edit this file to replace ldap-url with the correct url for your
    * LoginModule configuration.
    * @version $Id: login.config,v 1.8 2006/02/04 18:38:11 vgeorge Exp $
    gsnx.security.Login
    * LdapLoginModule Options:
    * ldap-url - LDAP connection URL, such as ldap://localhost:389
    * e.g. ldap-url="ldap://192.168.31.63:389"
    * dn-mask - The DN mask for user. The number 0 refers to the parameter
    * number for username. If this is specified then user search is ingored.
    * **This option is DEPRECATED**.
    * e.g. dn-mask="cn={0},ou=People,dc=gsnx,dc=com"
    * initialContextFactory - Class name of the initial context factory
    * e.g. initialContextFactory="com.sun.jndi.ldap.LdapCtxFactory"
    * connection-username - The DN used by the login module itself for authentication to
    * the directory server.
    * e.g. connection-username="uid=admin,ou=system"
    * connection-password - Password that is used by the login module to authenticate
    * itself to the directory server
    * e.g. connection-password="password"
    * connectionProtocol - The security protocol to use. This value is determined by the
    * service provider. An example would be SSL.
    * e.g. connectionProtocol="ldap"
    * authentication - The security level to use. Its value is one of the following
    * strings: "none", "simple", "strong".
    * e.g. authentication="simple"
    * user-search-base - the base DN for the user search
    * e.g. user-search-base="ou=users,ou=system"
    * user-search-pattern - filter specification how to search for the user object.
    * RFC 2254 filters are allowed. For example: (uid=user1). To parameterize the value
    * of the CN attribute type, specify (uid = {0}). The number 0 refers to the parameter
    * number for username. This query must return exactly one object.
    * e.g. user-search-pattern="uid={0}"
    * user-search-scope-subtree - Directory search scope for the user (ture | false)
    * ture - directory search scope is SUBTREE
    * false - directory search scope is ONE-LEVEL
    * e.g. user-search-scope-subtree="true"
    * user-password-changepw-gsnx-handler - hander to change password
    * If this handler is not specified, the change password feature will not be available
    * if "com.gsnx.core.server.security.LdapLoginModule", is used the the
    * option - user-password-attribute is required.
    * e.g. user-password-changepw-gsnx-handler="com.gsnx.core.server.security.LdapLoginModule"
    * user-password-attribute - attribute in LDAP that stores the user password
    * If this is not specified, the change password feature will not be work
    * when "com.gsnx.core.server.security.LdapLoginModule", is used as
    * user-password-changepw-gsnx-handler
    * e.g. user-password-attribute="userPassword"
    * role-search-base - The base DN for the group membership search
    * e.g. role-search-base="ou=groups,ou=system"
    * role-name-attribute - LDAP attribute type that identifies group name attribute in the object
    * returned from the group membership query. The group membership query is defined
    * by the role-search-pattern parameter. Typically the group name parameter is "cn".
    * e.g. role-name="cn"
    * role-search-pattern - The filter specification how to search for the role object.
    * RFC 2254 filters are allowed. For example: (uniqueMember = {0}). The number 0
    * refers refers to the DN of the authenticated user. Note that if role membership
    * for the user is defined in the member-of-like attribute (see user-role-name
    * parameter) you may not need to search for group membership with the query.
    * e.g. role-search-pattern="(uniqueMember={0})"
    * role-search-scope-subtree - Directory search scope for the role (ture | false).
    * ture - directory search scope is SUBTREE
    * false - directory search scope is ONE-LEVEL
    * e.g. role-search-scope-subtree="false"
    * user-role-attribute - LDAP attribute type for the user group membership. Different LDAP
    * schemas represent user group membership in different ways such as memberOf,
    * isMemberOf, member, etc. Values of these attributes are identifiers of groups that
    * a user is a member of. For example, if you have: memberOf: cn=admin,ou=groups,dc=gsnx,
    * specify "memberOf" as the value for the user-role-name attribute. Be aware of the
    * relationship between this parameter and group membership query. Typically
    * they will return the same data.
    * e.g. user-role-name="memberOf"
    * ldap://ldap-qa.dev.e2open.com:389
    * ldap://192.168.31.63:389
    com.gsnx.core.server.security.PassthruLoginModule required
    *com.gsnx.core.server.security.LdapLoginModule required
    initial-context-factory="com.sun.jndi.ldap.LdapCtxFactory"
    ldap-url="ldap://ldap-qa.dev.e2open.com:389"
    connection-username="cn=Manager,dc=gsnx,dc=com"
    connection-password="slapface"
    connection-protocol="ldap"
    authentication="simple"
    user-search-base="dc=gsnx,dc=com"
    user-search-pattern="cn={0}"
    user-search-scope-subtree="true"
    user-password-changepw-gsnx-handler="com.gsnx.core.server.security.PassthruLoginModule"
    user-password-attribute="userPassword"
    role-search-base=""
    role-name-attribute=""
    role-search-pattern=""
    role-search-scope-subtree=""
    user-role-attribute="";
    This is LoginConfig.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- The XML based JAAS login configuration read by the
    org.jboss.security.auth.login.XMLLoginConfig mbean. Add
    an application-policy element for each security domain.
    The outline of the application-policy is:
    <application-policy name="security-domain-name">
    <authentication>
    <login-module code="login.module1.class.name" flag="control_flag">
    <module-option name = "option1-name">option1-value</module-option>
    <module-option name = "option2-name">option2-value</module-option>
    </login-module>
    <login-module code="login.module2.class.name" flag="control_flag">
    </login-module>
    </authentication>
    </application-policy>
    $Revision: 1.12.2.2 $
    --><!DOCTYPE policy PUBLIC "-//JBoss//DTD JBOSS Security Config 3.0//EN" "http://www.jboss.org/j2ee/dtd/security_config.dtd">
    <policy>
    <!-- Used by clients within the application server VM such as
    mbeans and servlets that access EJBs.
    -->
    <application-policy name="gsnx.security.Login">
    <authentication>
    <!-- <login-module code="com.gsnx.core.server.security.LdapLoginModule" flag="required">-->
    <login-module code="com.gsnx.core.server.security.PassthruLoginModule" flag="required">
    <module-option name="initial-context-factory">com.sun.jndi.ldap.LdapCtxFactory
    </module-option>
    <!--<module-option name="user-password-changepw-gsnx-handler">com.gsnx.core.server.security.LdapLoginModule-->
    <module-option name="user-password-changepw-gsnx-handler">com.gsnx.core.server.security.PassthruLoginModule
    </module-option>
    <!-- <module-option name="ldap-url">ldap://192.168.31.63:389</module-option> -->
    <!-- <module-option name="ldap-url">ldap://10.120.17.253:389</module-option> -->
    <module-option name="ldap-url">ldap://ldap-qa.dev.e2open.com:389</module-option>
    <module-option name="connection-username">cn=Manager,dc=gsnx,dc=com</module-option>
    <module-option name="connection-password">slapface</module-option>
    <module-option name="connection-protocol">ldap</module-option>
    <module-option name="authentication">simple</module-option>
    <module-option name="user-search-base">dc=gsnx,dc=com</module-option>
    <module-option name="user-search-pattern">cn={0}</module-option>
    <module-option name="user-search-scope-subtree">true</module-option>
    <module-option name="user-password-attribute"/>
    <module-option name="role-search-base"/>
    <module-option name="role-name-attribute"/>
    <module-option name="role-search-pattern"/>
    <module-option name="role-search-scope-subtree"/>
    <module-option name="user-role-attribute"/>
    </login-module>
    </authentication>
    </application-policy>
    <application-policy name="client-login">
    <authentication>
    <login-module code="org.jboss.security.ClientLoginModule" flag="required">
    </login-module>
    </authentication>
    </application-policy>
    <!-- Security domain for JBossMQ -->
    <application-policy name="jbossmq">
    <authentication>
    <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
    <module-option name="unauthenticatedIdentity">guest</module-option>
    <module-option name="dsJndiName">java:/DefaultDS</module-option>
    <module-option name="principalsQuery">SELECT PASSWD FROM JMS_USERS WHERE USERID=?</module-option>
    <module-option name="rolesQuery">SELECT ROLEID, 'Roles' FROM JMS_ROLES WHERE USERID=?</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <!-- Security domain for JBossMQ when using file-state-service.xml
    <application-policy name = "jbossmq">
    <authentication>
    <login-module code = "org.jboss.mq.sm.file.DynamicLoginModule"
    flag = "required">
    <module-option name = "unauthenticatedIdentity">guest</module-option>
    <module-option name = "sm.objectname">jboss.mq:service=StateManager</module-option>
    </login-module>
    </authentication>
    </application-policy>
    -->
    <!-- Security domains for testing new jca framework -->
    <application-policy name="HsqlDbRealm">
    <authentication>
    <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule" flag="required">
    <module-option name="principal">sa</module-option>
    <module-option name="userName">sa</module-option>
    <module-option name="password"/>
    <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DefaultDS</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <application-policy name="JmsXARealm">
    <authentication>
    <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule" flag="required">
    <module-option name="principal">guest</module-option>
    <module-option name="userName">guest</module-option>
    <module-option name="password">guest</module-option>
    <module-option name="managedConnectionFactoryName">jboss.jca:service=TxCM,name=JmsXA</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <!-- A template configuration for the jmx-console web application. This
    defaults to the UsersRolesLoginModule the same as other and should be
    changed to a stronger authentication mechanism as required.
    -->
    <application-policy name="jmx-console">
    <authentication>
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
    <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
    <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <!-- A template configuration for the web-console web application. This
    defaults to the UsersRolesLoginModule the same as other and should be
    changed to a stronger authentication mechanism as required.
    -->
    <application-policy name="web-console">
    <authentication>
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
    <module-option name="usersProperties">web-console-users.properties</module-option>
    <module-option name="rolesProperties">web-console-roles.properties</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <!-- A template configuration for the JBossWS web application (and transport layer!).
    This defaults to the UsersRolesLoginModule the same as other and should be
    changed to a stronger authentication mechanism as required.
    -->
    <application-policy name="JBossWS">
    <authentication>
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
    <module-option name="unauthenticatedIdentity">anonymous</module-option>
    </login-module>
    </authentication>
    </application-policy>
    <!-- The default login configuration used by any security domain that
    does not have a application-policy entry with a matching name
    -->
    <application-policy name="other">
    <!-- A simple server login module, which can be used when the number
    of users is relatively small. It uses two properties files:
    users.properties, which holds users (key) and their password (value).
    roles.properties, which holds users (key) and a comma-separated list of
    their roles (value).
    The unauthenticatedIdentity property defines the name of the principal
    that will be used when a null username and password are presented as is
    the case for an unuathenticated web client or MDB. If you want to
    allow such users to be authenticated add the property, e.g.,
    unauthenticatedIdentity="nobody"
    -->
    <authentication>
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"/>
    </authentication>
    </application-policy>
    </policy>
    This is : java.security
    # This is the "master security properties file".
    # In this file, various security properties are set for use by
    # java.security classes. This is where users can statically register
    # Cryptography Package Providers ("providers" for short). The term
    # "provider" refers to a package or set of packages that supply a
    # concrete implementation of a subset of the cryptography aspects of
    # the Java Security API. A provider may, for example, implement one or
    # more digital signature algorithms or message digest algorithms.
    # Each provider must implement a subclass of the Provider class.
    # To register a provider in this master security properties file,
    # specify the Provider subclass name and priority in the format
    # security.provider.<n>=<className>
    # This declares a provider, and specifies its preference
    # order n. The preference order is the order in which providers are
    # searched for requested algorithms (when no specific provider is
    # requested). The order is 1-based; 1 is the most preferred, followed
    # by 2, and so on.
    # <className> must specify the subclass of the Provider class whose
    # constructor sets the values of various properties that are required
    # for the Java Security API to look up the algorithms or other
    # facilities implemented by the provider.
    # There must be at least one provider specification in java.security.
    # There is a default provider that comes standard with the JDK. It
    # is called the "SUN" provider, and its Provider subclass
    # named Sun appears in the sun.security.provider package. Thus, the
    # "SUN" provider is registered via the following:
    # security.provider.1=sun.security.provider.Sun
    # (The number 1 is used for the default provider.)
    # Note: Statically registered Provider subclasses are instantiated
    # when the system is initialized. Providers can be dynamically
    # registered instead by calls to either the addProvider or
    # insertProviderAt method in the Security class.
    # List of providers and their preference orders (see above):
    security.provider.1=sun.security.provider.Sun
    security.provider.2=sun.security.rsa.SunRsaSign
    security.provider.3=com.sun.net.ssl.internal.ssl.Provider
    security.provider.4=com.sun.crypto.provider.SunJCE
    security.provider.5=sun.security.jgss.SunProvider
    security.provider.6=com.sun.security.sasl.Provider
    # Select the source of seed data for SecureRandom. By default an
    # attempt is made to use the entropy gathering device specified by
    # the securerandom.source property. If an exception occurs when
    # accessing the URL then the traditional system/thread activity
    # algorithm is used.
    # On Solaris and Linux systems, if file:/dev/urandom is specified and it
    # exists, a special SecureRandom implementation is activated by default.
    # This "NativePRNG" reads random bytes directly from /dev/urandom.
    # On Windows systems, the URLs file:/dev/random and file:/dev/urandom
    # enables use of the Microsoft CryptoAPI seed functionality.
    securerandom.source=file:/dev/urandom
    # The entropy gathering device is described as a URL and can also
    # be specified with the system property "java.security.egd". For example,
    # -Djava.security.egd=file:/dev/urandom
    # Specifying this system property will override the securerandom.source
    # setting.
    # Class to instantiate as the javax.security.auth.login.Configuration
    # provider.
    login.configuration.provider=com.sun.security.auth.login.ConfigFile
    # Default login configuration file
    login.config.url.1=C:\LMS\gsnx\core\src\conf\login.config
    # Class to instantiate as the system Policy. This is the name of the class
    # that will be used as the Policy object.
    policy.provider=sun.security.provider.PolicyFile
    # The default is to have a single system-wide policy file,
    # and a policy file in the user's home directory.
    policy.url.1=file:${java.home}/lib/security/java.policy
    policy.url.2=file:${user.home}/.java.policy
    # whether or not we expand properties in the policy file
    # if this is set to false, properties (${...}) will not be expanded in policy
    # files.
    policy.expandProperties=true
    # whether or not we allow an extra policy to be passed on the command line
    # with -Djava.security.policy=somefile. Comment out this line to disable
    # this feature.
    policy.allowSystemProperty=true
    # whether or not we look into the IdentityScope for trusted Identities
    # when encountering a 1.1 signed JAR file. If the identity is found
    # and is trusted, we grant it AllPermission.
    policy.ignoreIdentityScope=false
    # Default keystore type.
    keystore.type=jks
    # Class to instantiate as the system scope:
    system.scope=sun.security.provider.IdentityDatabase
    # List of comma-separated packages that start with or equal this string
    # will cause a security exception to be thrown when
    # passed to checkPackageAccess unless the
    # corresponding RuntimePermission ("accessClassInPackage."+package) has
    # been granted.
    package.access=sun.
    # List of comma-separated packages that start with or equal this string
    # will cause a security exception to be thrown when
    # passed to checkPackageDefinition unless the
    # corresponding RuntimePermission ("defineClassInPackage."+package) has
    # been granted.
    # by default, no packages are restricted for definition, and none of
    # the class loaders supplied with the JDK call checkPackageDefinition.
    #package.definition=
    # Determines whether this properties file can be appended to
    # or overridden on the command line via -Djava.security.properties
    security.overridePropertiesFile=true
    # Determines the default key and trust manager factory algorithms for
    # the javax.net.ssl package.
    ssl.KeyManagerFactory.algorithm=SunX509
    ssl.TrustManagerFactory.algorithm=PKIX
    # Determines the default SSLSocketFactory and SSLServerSocketFactory
    # provider implementations for the javax.net.ssl package. If, due to
    # export and/or import regulations, the providers are not allowed to be
    # replaced, changing these values will produce non-functional
    # SocketFactory or ServerSocketFactory implementations.
    #ssl.SocketFactory.provider=
    #ssl.ServerSocketFactory.provider=
    # The Java-level namelookup cache policy for successful lookups:
    # any negative value: caching forever
    # any positive value: the number of seconds to cache an address for
    # zero: do not cache
    # default value is forever (FOREVER). For security reasons, this
    # caching is made forever when a security manager is set.
    # NOTE: setting this to anything other than the default value can have
    # serious security implications. Do not set it unless
    # you are sure you are not exposed to DNS spoofing attack.
    #networkaddress.cache.ttl=-1
    # The Java-level namelookup cache policy for failed lookups:
    # any negative value: cache forever
    # any positive value: the number of seconds to cache negative lookup results
    # zero: do not cache
    # In some Microsoft Windows networking environments that employ
    # the WINS name service in addition to DNS, name service lookups
    # that fail may take a noticeably long time to return (approx. 5 seconds).
    # For this reason the default caching policy is to maintain these
    # results for 10 seconds.
    networkaddress.cache.negative.ttl=10
    # Properties to configure OCSP for certificate revocation checking
    # Enable OCSP
    # By default, OCSP is not used for certificate revocation checking.
    # This property enables the use of OCSP when set to the value "true".
    # NOTE: SocketPermission is required to connect to an OCSP responder.
    # Example,
    # ocsp.enable=true
    # Location of the OCSP responder
    # By default, the location of the OCSP responder is determined implicitly
    # from the certificate being validated. This property explicitly specifies
    # the location of the OCSP responder. The property is used when the
    # Authority Information Access extension (defined in RFC 3280) is absent
    # from the certificate or when it requires overriding.
    # Example,
    # ocsp.responderURL=http://ocsp.example.net:80
    # Subject name of the OCSP responder's certificate
    # By default, the certificate of the OCSP responder is that of the issuer
    # of the certificate being validated. This property identifies the certificate
    # of the OCSP responder when the default does not apply. Its value is a string
    # distinguished name (defined in RFC 2253) which identifies a certificate in
    # the set of certificates supplied during cert path validation. In cases where
    # the subject name alone is not sufficient to uniquely identify the certificate
    # then both the "ocsp.responderCertIssuerName" and
    # "ocsp.responderCertSerialNumber" properties must be used instead. When this
    # property is set then those two properties are ignored.
    # Example,
    # ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp"
    # Issuer name of the OCSP responder's certificate
    # By default, the certificate of the OCSP responder is that of the issuer
    # of the certificate being validated. This property identifies the certificate
    # of the OCSP responder when the default does not apply. Its value is a string
    # distinguished name (defined in RFC 2253) which identifies a certificate in
    # the set of certificates supplied during cert path validation. When this
    # property is set then the "ocsp.responderCertSerialNumber" property must also
    # be set. When the "ocsp.responderCertSubjectName" property is set then this
    # property is ignored.
    # Example,
    # ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp"
    # Serial number of the OCSP responder's certificate
    # By default, the certificate of the OCSP responder is that of the issuer
    # of the certificate being validated. This property identifies the certificate
    # of the OCSP responder when the default does not apply. Its value is a string
    # of hexadecimal digits (colon or space separators may be present) which
    # identifies a certificate in the set of certificates supplied during cert path
    # validation. When this property is set then the "ocsp.responderCertIssuerName"
    # property must also be set. When the "ocsp.responderCertSubjectName" property
    # is set then this property is ignored.
    # Example,
    # ocsp.responderCertSerialNumber=2A:FF:00

    user564785 wrote:
    I am trying to installl Oracle 11gR2 on VM machine with Redhat Linux 6-64bit. That is a Oracle database problem. Even though the Oracle product uses java it still represents a problem with that product (Oracle) rather than java. So you need to start with an Oracle database forum.

  • PL/SQL 10g - Cannot Insert Values from PL/SQL

    Hi People,
    BACKGROUND (if required):
    I'm trying to write a message threading algorithm for uni, I believe it works so far, it's just matching the subjects at the moment I want to expand it to include email addresses but that will be at a later date.
    A brief run down, at the moment, a user can generate a list of email addresses to filter the corpus with, these are then inserted (via Java) into the table Sender. These addresses are then used in an IF statement, however they are only used if the table sender is populated. The messges that are identified as threads have their Message ID inserted into another table but they also have their values printed to the DBMS output.
    QUESTION:
    What I need help with is although the values print out to the DBMS Output after a great deal of time, normally after the DBMS buffer has maxed out (thus the statement ends in error). The values printed are not inserted into the table.
    Any help on solving this or optimising if would be greatly appreciated, I'm new to PL/SQL i'm afraid so it's probably a really messy statement.
    If this is a badly worded question and I need to supply more information then I gladly will, however i'm not 100% on what information is relevant at the moment.
    Below is the statement in question.
    Thanks and Regards,
    K
    LOOP
    IF sender_cur1%FOUND THEN
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID and Sub_One_Sender = send_user_cur THEN
    INSERT INTO MATCHING_SUB (MID) VALUES (sub_Two_MID);
    dbms_output.put_line('MID is: ' || sub_Two_MID);
    END IF;
    ELSE
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID THEN
    INSERT INTO MATCHING_SUB (MID) VALUES (sub_Two_MID);
    dbms_output.put_line('MID is: ' || sub_Two_MID);
    END IF;
    END IF;
    Edited by: user8967525 on 01-Mar-2010 07:27
    Edited by: user8967525 on 01-Mar-2010 08:08

    cd,
    I will most certainly try.
    I have a table of emails that I am attempting to thread by means of comparing the subjects together (for now). However ultimately I want to be able to bring in the recipients as well. However this can be ignored for now.
    The main variables from the Messages table are:
    MID(number) - 0 - 245000
    SENDER(VARCHAR) - Email Address
    SUBJECT_CLN6 - VARCAHR - Cleaned email subject.
    I am creating two instancs of a cursor that contains the subjects and MID's from Messages. I am then looping through cur1 comparing the value against all values in cur2, this continues until all values in cur1 have been compared against cur2. I use the MID to ensure that I am not comparing the same Message. Furthermore I am also filtering the Emails by Sender (if the table has been populated by the user, via a java applet, otherwise if just uses the subject). The variable Send_User_Cur takes takes its values from the Table called Sender, whilst sub_one_sender takes its values from the column Sender in Messages.
    The proposed output of this at the moment is to just have the MID's (and later all the relevant columns, however just for now MID) of all the threaded emails, inserted into the table MATCH_THREAD, such that they can be called upon later for further processing and most likely called from a java applet at some point as well.
    I've pasted the entire code below. I understand that it looks a bit messy on the preview and for that I apologise.
    Thanks all!
    Kev
    DECLARE
    CURSOR sub_cur1 IS
    SELECT MID, Sender, trim(subject_cln6) from MESSAGES;
    sub_One MESSAGES.subject_cln6%TYPE;
    sub_One_MID MESSAGES.MID%type;
    sub_One_Sender MESSAGES.SENDER%type;
    CURSOR sub_cur2 IS
    SELECT MID, trim(subject_cln6) from Messages;
    sub_Two MESSAGES.subject_cln6%TYPE;
    sub_Two_MID MESSAGES.MID%type;
    CURSOR sender_cur1 IS
    SELECT SENDER_ID FROM SENDER;
    Send_User_Cur SENDER.SENDER_ID%type;
    counter number := 0;
    MID_t MESSAGES.MID%TYPE;
    i number := 0;
    j number := 0;
    BEGIN
    SELECT count(subject) INTO counter
    FROM MESSAGES;
    OPEN sub_cur1;
    OPEN sub_cur2;
    OPEN sender_cur1;
    FETCH sub_cur1 INTO sub_One_MID, Sub_One_Sender, Sub_One;
    FETCH sender_cur1 INTO Send_User_Cur;
    WHILE sub_cur1%FOUND
    LOOP
    IF sub_cur2%ISOPEN THEN
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    dbms_output.put_line('OPEN');
    ELSE
    OPEN sub_cur2;
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    --dbms_output.put_line('OPENED and FETCHED');
    END IF;
    LOOP
    IF sender_cur1%FOUND THEN
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID and Sub_One_Sender = send_user_cur THEN
    INSERT INTO MATCH_THREAD (MID) VALUES (sub_Two_MID);
    commit;
    END IF;
    ELSE
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID THEN
    INSERT INTO MATCH_THREAD (MID) VALUES (sub_Two_MID);
    commit;
    END IF;
    END IF;
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    i := i + 1;
    EXIT WHEN i = counter;
    END LOOP;
    CLOSE sub_cur2;
    FETCH sub_cur1 INTO sub_One_MID, Sub_One_Sender, SUB_One;
    i := 0;
    dbms_output.put_line('sub_One_MID: ' || sub_one_mid);
    END LOOP;
    CLOSE sub_cur1;
    CLOSE sub_cur2;
    END;

  • Problem with AIX 5.1 JDK1.4 WLS 8.1.2

    I am getting "No LoginModules configured " after upgrading to WLS 8. My application can work under WLS 7 (AIX and NT) and WLS 8 ( NT only ). I have tried to force my own security policy but it still does not work. Attached with this email are all the related config files.
    When using a sample jaas client, I am able to get my own login module to be loaded. So, I am sure it is not a JDK issue.
    ================================= Start WebLogic Command =================================
    /usr/java14/jre/bin/java -Xms1024m -Xmx1024m -Djava.security.auth.login.config==/usr/java14/jre/lib/security/jaas.config -Xrunoii:filter=/tool/optimizeit/OptimizeitSuiteDemo/filters/WebLogic.oif -Xbootclasspath/a:/tool/optimizeit/OptimizeitSuiteDemo/lib/oibcp.jar -Dweblogic.Name=myserver -Dweblogic.ProductionModeEnabled=false -Djava.security.policy==/usr/java14/jre/lib/security/java.policy -Djava.security.manager weblogic.Server
    ==================================== WebLogic Server Log ==================================
    policy weblogic.Server
    Optimizeit Profiler 5.0 build 030204 Audit System.
    (c) 1997-2002 Borland.
    Port is 1472
    OptimizeIt generic Audit System. [IBM VM detected]
    <Mar 11, 2004 6:13:57 PM GMT+08:00> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Classic VM Version 1.4.1 from IBM Corporation>
    <Mar 11, 2004 6:14:00 PM GMT+08:00> <Info> <Configuration Management> <BEA-150016> <This server is being started as the administration server.>
    <Mar 11, 2004 6:14:00 PM GMT+08:00> <Info> <Management> <BEA-141107> <Version: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284
    WebLogic XMLX Module 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 >
    <Mar 11, 2004 6:14:03 PM GMT+08:00> <Notice> <Management> <BEA-140005> <Loading domain configuration from configuration repository at /usr/local/bea812/user_projects/domains/cdmperftest2domain/./config.xml.>
    <Mar 11, 2004 6:14:24 PM GMT+08:00> <Notice> <Log Management> <BEA-170019> <The server log file /usr/local/bea812/user_projects/domains/cdmperftest2domain/myserver/myserver.log is opened. All server side log events will be written to this file.>
    <Mar 11, 2004 6:14:39 PM GMT+08:00> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
    <Mar 11, 2004 6:14:40 PM GMT+08:00> <Notice> <WebLogicServer> <BEA-000327> <Starting WebLogic Admin Server "myserver" for domain "cdmperftest2domain">
    <Mar 11, 2004 6:15:06 PM GMT+08:00> <Warning> <HTTP> <BEA-101296> <Unable to load the default compiler class "com.sun.tools.javac.Main". Using the default javac compiler to compile JSPs.>
    <Mar 11, 2004 6:15:57 PM GMT+08:00> <Notice> <WebLogicServer> <BEA-000331> <Started WebLogic Admin Server "myserver" for domain "cdmperftest2domain" running in Development Mode>
    <Mar 11, 2004 6:15:57 PM GMT+08:00> <Notice> <WebLogicServer> <BEA-000355> <Thread "ListenThread.Default" listening on port 7023, ip address *.*>
    <Mar 11, 2004 6:15:57 PM GMT+08:00> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
    javax.security.auth.login.LoginException: No LoginModules configured for LoginModule
    at javax.security.auth.login.LoginContext.init(LoginContext.java:210)
    at javax.security.auth.login.LoginContext.<init>(LoginContext.java:425)
    at com.firsttech.common.framework.security.SessionLoginContext.<init>(Unknown Source)
    at com.firsttech.common.framework.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:103)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:28)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6360)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java(Compiled Code))
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java(Compiled Code))
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3650)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2589)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    # @(#)src/security/sov/config/java.security, security, hs141, 20030503 1.6.3.2
    # ===========================================================================
    # Licensed Materials - Property of IBM
    # "Restricted Materials of IBM"
    # IBM SDK, Java(tm) 2 Technology Edition, v1.4.1
    # (C) Copyright IBM Corp. 1998, 2002. All Rights Reserved
    # ===========================================================================
    # This is the "master security properties file".
    # In this file, various security properties are set for use by
    # java.security classes. This is where users can statically register
    # Cryptography Package Providers ("providers" for short). The term
    # "provider" refers to a package or set of packages that supply a
    # concrete implementation of a subset of the cryptography aspects of
    # the Java Security API. A provider may, for example, implement one or
    # more digital signature algorithms or message digest algorithms.
    # Each provider must implement a subclass of the Provider class.
    # To register a provider in this master security properties file,
    # specify the Provider subclass name and priority in the format
    # security.provider.<n>=<className>
    # This declares a provider, and specifies its preference
    # order n. The preference order is the order in which providers are
    # searched for requested algorithms (when no specific provider is
    # requested). The order is 1-based; 1 is the most preferred, followed
    # by 2, and so on.
    # <className> must specify the subclass of the Provider class whose
    # constructor sets the values of various properties that are required
    # for the Java Security API to look up the algorithms or other
    # facilities implemented by the provider.
    # There must be at least one provider specification in java.security.
    # The number 1 is used for the default provider.
    # Note: Statically registered Provider subclasses are instantiated
    # when the system is initialized. Providers can be dynamically
    # registered instead by calls to either the addProvider or
    # insertProviderAt method in the Security class.
    # List of providers and their preference orders (see above):
    security.provider.1=com.ibm.jsse.IBMJSSEProvider
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.4=com.ibm.security.cert.IBMCertPath
    # The entropy gathering device is described as a URL and can
    # also be specified with the property "java.security.egd". For example,
    # -Djava.security.egd=file:/dev/urandom
    # Specifying this property will override the securerandom.source setting.
    # Class to instantiate as the javax.security.auth.login.Configuration
    # provider.
    login.configuration.provider=com.ibm.security.auth.login.ConfigFile
    #login.configuration.provider=
    # Default login configuration file
    login.config.url.1=file:${java.home}/lib/security/jaas.config
    # Class to instantiate as the system Policy. This is the name of the class
    # that will be used as the Policy object.
    policy.provider=sun.security.provider.PolicyFile
    # The default is to have a single system-wide policy file,
    # and a policy file in the user's home directory.
    policy.url.1=file:${java.home}/lib/security/java.policy
    policy.url.2=file:${java.home}/lib/security/java.pol
    policy.url.3=file:///${user.home}/.java.policy
    # whether or not we expand properties in the policy file
    # if this is set to false, properties (${...}) will not be expanded in policy
    # files.
    policy.expandProperties=true
    # whether or not we allow an extra policy to be passed on the command line
    # with -Djava.security.policy=somefile. Comment out this line to disable
    # this feature.
    policy.allowSystemProperty=true
    # whether or not we look into the IdentityScope for trusted Identities
    # when encountering a 1.1 signed JAR file. If the identity is found
    # and is trusted, we grant it AllPermission.
    policy.ignoreIdentityScope=false
    # Default keystore type.
    keystore.type=jks
    # Class to instantiate as the system scope:
    system.scope=sun.security.provider.IdentityDatabase
    # List of comma-separated packages that start with or equal this string
    # will cause a security exception to be thrown when
    # passed to checkPackageAccess unless the
    # corresponding RuntimePermission ("accessClassInPackage."+package) has
    # been granted.
    package.access=sun.
    # List of comma-separated packages that start with or equal this string
    # will cause a security exception to be thrown when
    # passed to checkPackageDefinition unless the
    # corresponding RuntimePermission ("defineClassInPackage."+package) has
    # been granted.
    # by default, no packages are restricted for definition, and none of
    # the class loaders supplied with the JDK call checkPackageDefinition.
    #package.definition=
    # Determines whether this properties file can be appended to
    # or overridden on the command line via -Djava.security.properties
    security.overridePropertiesFile=true
    # Determines the default key and trust manager factory algorithms for
    # the javax.net.ssl package.
    ssl.KeyManagerFactory.algorithm=IbmX509
    ssl.TrustManagerFactory.algorithm=IbmX509
    # Determines the default SSLSocketFactory and SSLServerSocketFactory
    # provider implementations for the javax.net.ssl package. If, due to
    # export and/or import regulations, the providers are not allowed to be
    # replaced, changing these values will produce non-functional
    # SocketFactory or ServerSocketFactory implementations.
    #ssl.SocketFactory.provider=
    #ssl.ServerSocketFactory.provider=
    # The Java-level namelookup cache policy for successful lookups:
    # any negative value: caching forever
    # any positive value: the number of seconds to cache an address for
    # zero: do not cache
    # default value is forever (FOREVER). For security reasons, this
    # caching is made forever when a security manager is set.
    # NOTE: setting this to anything other than the default value can have
    # serious security implications. Do not set it unless
    # you are sure you are not exposed to DNS spoofing attack.
    #networkaddress.cache.ttl=-1
    # The Java-level namelookup cache policy for failed lookups:
    # any negative value: cache forever
    # any positive value: the number of seconds to cache negative lookup results
    # zero: do not cache
    # In some Microsoft Windows networking environments that employ
    # the WINS name service in addition to DNS, name service lookups
    # that fail may take a noticeably long time to return (approx. 5 seconds).
    # For this reason the default caching policy is to maintain these
    # results for 10 seconds.
    networkaddress.cache.negative.ttl=10
    LoginModule {
    com.firsttech.common.framework.security.RdbmsLoginModule required debug=false;
    // @(#)src/security/sov/config/java.policy, security, hs141, 20030503 1.2.3.2
    // ===========================================================================
    // Licensed Materials - Property of IBM
    // "Restricted Materials of IBM"
    // IBM SDK, Java(tm) 2 Technology Edition, v1.4.1
    // (C) Copyright IBM Corp. 1998, 2002. All Rights Reserved
    // ===========================================================================
    // Standard extensions get all permissions by default
    grant codeBase "file:${java.home}/lib/ext/*" {
         permission java.security.AllPermission;
    grant codeBase "file:/*" {
    permission java.security.AllPermission;
    // default permissions granted to all domains
    grant {
         // Allows any thread to stop itself using the java.lang.Thread.stop()
         // method that takes no argument.
         // Note that this permission is granted by default only to remain
         // backwards compatible.
         // It is strongly recommended that you either remove this permission
         // from this policy file or further restrict it to code sources
         // that you specify, because Thread.stop() is potentially unsafe.
         // See "http://java.sun.com/notes" for more information.
         permission java.lang.RuntimePermission "stopThread";
         // allows anyone to listen on un-privileged ports
         permission java.net.SocketPermission "localhost:1024-", "listen";
         // "standard" properies that can be read by anyone
         permission java.util.PropertyPermission "java.version", "read";
         permission java.util.PropertyPermission "java.vendor", "read";
         permission java.util.PropertyPermission "java.vendor.url", "read";
         permission java.util.PropertyPermission "java.class.version", "read";
         permission java.util.PropertyPermission "os.name", "read";
         permission java.util.PropertyPermission "os.version", "read";
         permission java.util.PropertyPermission "os.arch", "read";
         permission java.util.PropertyPermission "file.separator", "read";
         permission java.util.PropertyPermission "path.separator", "read";
         permission java.util.PropertyPermission "line.separator", "read";
         permission java.util.PropertyPermission "java.specification.version", "read";
         permission java.util.PropertyPermission "java.specification.vendor", "read";
         permission java.util.PropertyPermission "java.specification.name", "read";
         permission java.util.PropertyPermission "java.vm.specification.version", "read";
         permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
         permission java.util.PropertyPermission "java.vm.specification.name", "read";
         permission java.util.PropertyPermission "java.vm.version", "read";
         permission java.util.PropertyPermission "java.vm.vendor", "read";
         permission java.util.PropertyPermission "java.vm.name", "read";
    permission java.util.PropertyPermission "weblogic.security.SubjectManager", "read";
    permission java.util.PropertyPermission "AUDIT", "read";
    permission java.util.PropertyPermission "*", "read,write";
    permission java.io.FilePermission "*", "read";
    permission java.security.AllPermission;

    Did you try this:
    http://forum.java.sun.com/thread.jsp?thread=434718&forum=60&message=1964421

  • Wireless ISE - 12508 EAP-TLS handshake failed

    Hi guys,
    I'm in the middle of my very first wireless ISE deployment and I'm hitting issues with EAP-TLS based authentication.  In short, all EAP-TLS authentication is failing with the following error.  Below that is the relevant excerpt from the logs:
    Authentication failed : 12508 EAP-TLS handshake failed
    OpenSSLErrorMessage=SSL alert: code=0x233=563 \; source=local \; type=fatal \; message="X509 decrypt error -  certificate signature failure", OpenSSLErrorStack=   597863312:error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown  message digest algorithm:a_verify.c:146:,
    Setup:
    - Single standalone ISE 3355 appliance
    - Two tier MS enterprise PKI (outside of my direct control)
    - WLC 5508
    - Windows 7 laptop\
    - The ISE has both the root and intermediate CA server certificates installed (individually, not chained) and has an identity certificate from the intermediate CA.
    - The test laptop has both the root and intermediate CA server certificates installed  (individually, not chained) and has an identity certificate from the  intermediate CA.
    Now, I'm pretty new to certs so I'm sure I'm missing something simple here.  One thing that has come to mind as I'm writing this is that all of the issued certificates are using SHA1 as the Signature hash algorithm but if I remember correctly ISE defaults to SHA-256 when generating a CSR and I can't remember actually changing that.  Could my issue be as simple as this, or does this hash algorithm only apply to the CSR process?
    This is what TAC came back with, but none of the workarounds helped
    Symptom:
    ========
    EAP-TLS auth handshake  failing with X509 decrypt error. The error presented to the ISE  administrator is "12508: EAP-TLS handshake failed"
    Conditions:
    =========
    EAP-TLS certificate based authentications ISE 1.1.2.145
    Workaround:
    ===========
    1) Reboot or restart ISE  application service 2) Recreate CAP (Certificate Authentication Profile)  3) Toggle between ID sequence and single ID source

    Hi Amjad,
    Thanks for the response.  I realise that SHA256 is highly preferable, however as per my post the PKI is outside of my direct control so that's a whole other conversation.
    Cisco actually recommends avoiding chained certs for ISE, their best practice is that the intermediate and root CA server certificates should be imported into the ISE individually (I don't have a link for this, but it was presented in the Advanced ISE session at Cisco Live this year).  On the client side the identity certificate (machine) shows the full trust chain, so I would assume that there isn't an issue there but I'm happy to be corrected.
    The certificate format has not been modified in any way.  The server and identity certs have been pushed out to the clients via GPO. Tthe root and intermediate certs were exported in DER format directly from each the respective CAs and imported directly in to the ISE
    Cheers,
    Owen

  • Verifying a Digital Signature

    I have a smart card, which I am trying to use to digitally sign some bytes. Then I want to verify the signature using the public key which I can get from the certificate on the smart card.
    I am able to send some bytes to the card (using an apdu) and get back some RSA signed bytes. But when I try to verify the signature, it always returns false.
    To verify, I do:
    X509Certificate x = ... //gets the certificate from the card
    Signature sig = Signature.getInstance(x.getSigAlgName()); //"SHA1withRSA"
    sig.initVerify(x.getPublicKey());
    sig.update(dataBytes, 0, dataBytes.length);
    boolean isSigned = sig.verify(signed);
    As far as I can tell, this part is good.
    I think my problem is related to how I am sending the bytes to the card to get signed. Sending dataBytes in plaintext returns errors regarding length. It seems the signing command I am using on the card wants the data to equal the key length (data=128 byte, key=1024 bit). So what I did next was an attempt to hash the data and then pad it before I send it to the card.
         MessageDigest md = MessageDigest.getInstance("SHA1");
         md.update(dataBytes);
         byte [] digest = md.digest();
         PKCS1SignaturePadding pkcs1 = new PKCS1SignaturePadding(PKCS1SignaturePadding.SHA1);
         byte [] padded = pkcs1.encode(digest, 128);
    But after I sign, I try to verify the signature but it still returns false. I'm not sure if I'm doing something wrong or if I'm misunderstanding something (I'm relatively new to digital signatures and smart cards).

    PKCS#7 SignedData objects are far more complex then it looks like you are taking them. First the PKCS#7 SignedData object will contain the OID for the message digest algorithm used and for the encryption algorithm used. From the looks of your code you are simply assuming MD5.
    It also contains all of the data that was signed which is typically much more than just the document. It also of course contains the public keys and signatures which singed the document. In your case it will probably only have one public certificate and one signature.
    Also note that a signature is an encrypted hash. Looking at your code I do not see you use encryption at all or rather for verification decryption.
    Here is the basic process a signature takes.
    MessageDigest md = MessageDigest.getInstance(algOID);
    byte[] digest = md.digest(message.getBytes(charEncoding));
    Cipher c = Cipher.getInstance("RSA/2/PKCS1Padding");
    c.init(Cipher.ENCRYPT_MODE, priKey);
    byte[] signature = c.doFinal(digest);Note that the resulting byte array is not the message digest but the encrypted message digest. You must use the corresponding public key to decrypt the signature to get the message digest value. It is because the trusted public key can decrypt the correct message digest that we know it was encrypted by the holder of the private key. It is because the decrypted message digest value is equal to my computed message digest value that we know the document has not be altered...
    Now PKCS#7 SignedData does not take the message digest of the document, in your case your PDF. It creates a message digest on an ASN.1 object which includes the bytes of your document plus a bunch of meta data.
    For more info on the exact format of a PKCS#7 signature file check out
    http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html
    Look through this doucment for SignedData as a starting place and follow through all of the sub objects that make up a SignedData object. This will give you an idea of what is involved.

  • Encrypt Decrypt in RSA or DSA

    hai all
    how to encrypt and dcrypt using RSA DSA ?????? how secured using RSA or DSA instead of SHA
    please explain
    Thans
    below a code using SHA
    public String encrypt(String password)throws NoSuchAlgorithmException
    MessageDigest sha = null;
    byte[] b1 = new byte[password.length()];
    b1 = password.getBytes();
    sha = MessageDigest.getInstance("SHA");
    sha.reset();
    sha.update(b1);
    byte[] hash = sha.digest();
    StringBuffer buf = new StringBuffer();
    for(int i=0; i<hash.length;i++)
    buf.append(hash);
    return buf.toString();
    pls give me a decrypt function pls ...
    thakns you .

    Um...you really need to read up on how crypto works. Try "Applied Crytography", by Bruce Schneier. There is no short answer to your questions, because the questions themselves are fatally flawed.
    RSA is a public-key encryption cipher.
    DSA is an algorithm for signing content, not encrypting it.
    SHA is a Message Digest Algorithm. It's one-way - it cannot be "decrypted".
    Good luck - and good reading,
    Grant

  • Problem using java crypto class... Please help me

    Hi, i'm trying to do application that send information via socket, and i have to send the data encrypted,
    i`m trying to implemented the RC4 algorithm.... I read an article that said that the java sdk 1.4 has already
    implemented the securities classes. So I made this little program:
    import javax.crypto.spec.*;
    import javax.crypto.*;
    import java.security.*;
    import java.io.*;
    public class MicroRC4
    public void encriptaClavePublica(String trama)
    Cipher rc4Cipher;
    byte[] rc4KeyByte;
    SecretKey rc4Key;
    String keyStr;
    String messageEncryp;
    byte[] messageEncrypByte;
    rc4Key = null;
    messageEncryp = trama;
    // Clave para encriptar el mensaje
    keyStr = new String();
    keyStr = "12345678";
    rc4KeyByte = new byte[8];
    messageEncrypByte = new byte[255];
    for(int i=0; i < 8; i++)
    rc4KeyByte[i] = (byte)keyStr.charAt(i);
    try
    for(int i=0; i < messageEncryp.length(); i++)
    messageEncrypByte[i] = (byte)messageEncryp.charAt(i);
    rc4Key = (SecretKey)new SecretKeySpec(rc4KeyByte, "RC4");
    rc4Cipher = Cipher.getInstance("RC4");
    rc4Cipher.init(Cipher.ENCRYPT_MODE, rc4Key);
    byte[] result = null;
    result = rc4Cipher.doFinal(messageEncrypByte);
    System.out.println("Usage:"+result);
    catch(Exception e)
    System.out.println(" Error: " + e.getMessage());
    System.out.println("\n........................................\n");
    I don't know what is wrong but when i run the application it show me the following message :
    Error: Algorithm RC4 not available
    Does anybody know what is wrong ??
    Does anybody can help me ??
    or tell me when can i find some source code that implement de RC4 algorithm
    Thank's in advance..
    Alejandro.

    Hi Alejandro,
    In the ends i decided to implement the algorithm by
    myself, i did it... any way thank's again.... If
    anybody want to see the code, send me a mail......
    AlejandroCan I also get the source code? my email id is [email protected]
    Thanks a lot!
    Srik.

  • Encyrption/Decryption on PDF Files

    Hi,
    I have to design an application which will encrypt a pdf document and then it archives those document and when i need it should be extracted and then decrypted the file and shown to the user. I am able to encrypt the pdf document but it is not properly decryption the code. If any one has some example code please provide the same.
    Thanks and Regards
    Rasa.

    Please check the code.
    package com.encryption;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.security.AlgorithmParameters;
    import java.security.InvalidAlgorithmParameterException;
    import java.security.InvalidKeyException;
    import java.security.NoSuchAlgorithmException;
    import java.security.spec.InvalidKeySpecException;
    import java.util.Random;
    import javax.crypto.BadPaddingException;
    import javax.crypto.Cipher;
    import javax.crypto.CipherInputStream;
    import javax.crypto.IllegalBlockSizeException;
    import javax.crypto.NoSuchPaddingException;
    import javax.crypto.SecretKey;
    import javax.crypto.SecretKeyFactory;
    import javax.crypto.spec.PBEKeySpec;
    import javax.crypto.spec.PBEParameterSpec;
    * @author Rasa
    public class CriptoUtil {
         public static void encryptFile( File srcFile , File destFile ){
    try{
                   String password=null;
                   FileInputStream inFile = null;
                   FileOutputStream outFile = null;
                   // Password must be at least 8 characters (bytes) long
                  password = "ENCRYPTFILE";
                  System.out.println("PASSWORD: "+password);
                  inFile = new FileInputStream(srcFile);
                  outFile= new FileOutputStream(destFile);
                 /* if(srcFile.lastIndexOf(".zip")>0){
                       outFile = new FileOutputStream(filename.substring(0,filename.lastIndexOf(".zip")) + "zip.des");     
                  }else if(srcFile.lastIndexOf(".pdf")>0){
                       outFile = new FileOutputStream(filename.substring(0,filename.lastIndexOf(".pdf")) + "pdf.des");     
                  // Use PBEKeySpec to create a key based on a password.
                  // The password is passed as a character array
                  PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
                  SecretKeyFactory keyFactory =SecretKeyFactory.getInstance("PBEWithMD5AndDES");
                  SecretKey passwordKey = keyFactory.generateSecret(keySpec);
                  // PBE = hashing + symmetric encryption.  A 64 bit random
                  // number (the salt) is added to the password and hashed
                  // using a Message Digest Algorithm (MD5 in this example.).
                  // The number of times the password is hashed is determined
                  // by the interation count.  Adding a random number and
                  // hashing multiple times enlarges the key space.
                  System.out.println("PASS KEY: "+passwordKey);
                  byte[] salt = new byte[8];
                  /*Random rnd = new Random();
                  rnd.nextBytes(salt);*/
                  int iterations = 100;
                  //Create the parameter spec for this salt and interation count
                  PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, iterations);
                  // Create the cipher and initialize it for encryption.
                  Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
                  cipher.init(Cipher.ENCRYPT_MODE, passwordKey, parameterSpec);
                  // Need to write the salt to the (encrypted) file.  The
                  // salt is needed when reconstructing the key for decryption.
                  outFile.write(salt);
                  // Read the file and encrypt its bytes.
                  byte[] input = new byte[64];
                  int bytesRead;
                  while ((bytesRead = inFile.read(input)) != -1)
                       byte[] output = cipher.update(input, 0, bytesRead);
                       if (output != null) outFile.write(output);
                  byte[] output = cipher.doFinal();
                  if (output != null) outFile.write(output);
                  inFile.close();
                  outFile.flush();
                  outFile.close();
                  System.out.println("File Encryption Completed");
              }catch(Exception e){
                   e.printStackTrace();
        public static void decryptFile( File srcFile , File destFile ){
    try{
                   String decryptfilename;
                   String password;
                   FileInputStream inFile;
                   FileOutputStream outFile;
                   //decryptfilename=filename.substring(0,filename.lastIndexOf("zip.des"))+".zip";
                   password = "ENCRYPTFILE";
                   /*System.out.println("Encrypt Path:"+filename);
                   System.out.println("Decrypt Path:"+decryptfilename);
                   System.out.println("Password: "+password);*/
                   inFile = new FileInputStream(srcFile);
                   outFile = new FileOutputStream(destFile);
                   PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
                   SecretKeyFactory keyFactory =
                        SecretKeyFactory.getInstance("PBEWithMD5AndDES");
                   SecretKey passwordKey = keyFactory.generateSecret(keySpec);
                   // Read in the previouly stored salt and set the iteration count.
                   byte[] salt = new byte[8];
                   inFile.read(salt);
                   int iterations = 100;
                   PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, iterations);
                   // Create the cipher and initialize it for decryption.
                   Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
                   cipher.init(Cipher.DECRYPT_MODE, passwordKey, parameterSpec);
                   byte[] input = new byte[64];
                   int bytesRead;
                   while ((bytesRead = inFile.read(input)) != -1)
                        byte[] output = cipher.update(input, 0, bytesRead);
                        if (output != null)
                             outFile.write(output);
                   /*//byte[] output = cipher.doFinal();
                   if (output != null)
                        outFile.write(output);*/
                   inFile.close();
                   outFile.flush();
                   outFile.close();
                   System.out.println("Decryption completed.");
              }catch(Exception e){
                   e.printStackTrace();
         }

  • MI Client Installation Problems

    Hi,
    I have installed
    MI Version & SP Level -- MI 25 SP 13 (JSP )
    - installation file type: -- setup.exe
    - platform OS -- Windows XP
    - JDK info -- j2sdk 1.4.2 08.
    After installation i made an Entry into "MobileEngine.config"
    MobileEngine.Sync.Gateway.Port=Server-Port
    MobileEngine.Sync.Gateway.System=System-id
    MobileEngine.Sync.Gateway.Host=Host-Name
    then i started server using command Prompt startup.bat. I am able to see server running with the following Message
    D:\MIJSP>startup
    D:\MIJSP>set ME_HOME=D:\MIJSP
    D:\MIJSP>set JAVA_OPTIONS=
    D:\MIJSP>set JAVA_EXE=C:\j2sdk1.4.2_08\bin\java.exe
    D:\MIJSP>set JAVA_HOME=C:\j2sdk1.4.2_08
    D:\MIJSP>set bootstrapjars=;
    D:\MIJSP>REM set bootstrapjars=D:\MIJSP\lib\system\crimson.jar;D:\MIJSP\lib\sy
    stem\jaxp.jar;D:\MIJSP\lib\system\xalan.jar;
    D:\MIJSP>REM SET JAVA_HOME=
    D:\MIJSP>REM SET ME_HOME=
    D:\MIJSP>REM SET JAVA_EXE=
    D:\MIJSP>REM SET JAVA_OPTIONS=-mx256m
    D:\MIJSP>SET _OLDCP=
    D:\MIJSP>set _MEJARS=
    D:\MIJSP>copy /b "D:\MIJSP\SetMejar.txt" + "D:\MIJSP\listOfJars.txt" "D:\MIJSP\s
    etMeJar.bat"
    D:\MIJSP\SetMejar.txt
    D:\MIJSP\listOfJars.txt
            1 file(s) copied.
    D:\MIJSP>call "D:\MIJSP\setMeJar.bat"
    D:\MIJSP>SET _MEJARS=D:\MIJSP\lib\crimson.jar;D:\MIJSP\lib\jasper.jar;D:\MIJSP\l
    ib\jaxp.jar;D:\MIJSP\lib\MEg.jar;D:\MIJSP\lib\pinstall.jar;D:\MIJSP\lib\servlet.
    jar;D:\MIJSP\lib\webserver.jar;D:\MIJSP\lib\xalan.jar;
    D:\MIJSP>set _SSLJARS=
    D:\MIJSP>if exist "D:\MIJSP\lib\jsse.jar" set _SSLJARS=D:\MIJSP\lib\jsse.jar
    D:\MIJSP>if exist "D:\MIJSP\lib\jcert.jar" set _SSLJARS=;D:\MIJSP\lib\jcert.jar
    D:\MIJSP>if exist "D:\MIJSP\lib\jnet.jar" set _SSLJARS=;D:\MIJSP\lib\jnet.jar
    D:\MIJSP>set CLASSPATH=D:\MIJSP\lib\crimson.jar;D:\MIJSP\lib\jasper.jar;D:\MIJSP
    \lib\jaxp.jar;D:\MIJSP\lib\MEg.jar;D:\MIJSP\lib\pinstall.jar;D:\MIJSP\lib\servle
    t.jar;D:\MIJSP\lib\webserver.jar;D:\MIJSP\lib\xalan.jar;;;;;C:\j2sdk1.4.2_08\lib
    \tools.jar
    D:\MIJSP>echo Using CLASSPATH: D:\MIJSP\lib\crimson.jar;D:\MIJSP\lib\jasper.jar;
    D:\MIJSP\lib\jaxp.jar;D:\MIJSP\lib\MEg.jar;D:\MIJSP\lib\pinstall.jar;D:\MIJSP\li
    b\servlet.jar;D:\MIJSP\lib\webserver.jar;D:\MIJSP\lib\xalan.jar;;;;;C:\j2sdk1.4.
    2_08\lib\tools.jar
    Using CLASSPATH: D:\MIJSP\lib\crimson.jar;D:\MIJSP\lib\jasper.jar;D:\MIJSP\lib\j
    axp.jar;D:\MIJSP\lib\MEg.jar;D:\MIJSP\lib\pinstall.jar;D:\MIJSP\lib\servlet.jar;
    D:\MIJSP\lib\webserver.jar;D:\MIJSP\lib\xalan.jar;;;;;C:\j2sdk1.4.2_08\lib\tools
    .jar
    D:\MIJSP>"C:\j2sdk1.4.2_08\bin\java.exe"  -DSERVER_IMPL="com.sap.tc.webdynpro.se
    rverimpl.me.MEServerImplementation" -Duse.repository=noDB com.sap.ip.me.core.Sta
    rtup "-home:D:\MIJSP"
    Use the MobileEngine classloader
    Collect jar: D:\MIJSP\lib\crimson.jar
    Collect jar: D:\MIJSP\lib\jasper.jar
    Collect jar: D:\MIJSP\lib\jaxp.jar
    Collect jar: D:\MIJSP\lib\MEg.jar
    Collect jar: D:\MIJSP\lib\pinstall.jar
    Collect jar: D:\MIJSP\lib\servlet.jar
    Collect jar: D:\MIJSP\lib\webserver.jar
    Collect jar: D:\MIJSP\lib\xalan.jar
    Initialize framework ...
       Configuration initialized. Installation Base = D:\MIJSP
       Path settings adjusted
       Timezone initialized; use timezone id 'Europe/Berlin'
       Trace initialized. Log is switched on.
       Framework singletons initialized.
       Gzip data compression configuration initialized.
       Registry initialized.
        MI OS installer lib (D:\MIJSP\bin\NATSTART.DLL) loaded successfully.
       Dlls loaded.
       Timed Sync initialized.
       Persistence initialized.
       Smart Sync initialized.
       CCMS initialized.
       Agents initialized.
       Communication server initialized.
    Framework initialized.
    Check if running inside installation server.
    Installation toolkit parameters D:\MIJSP/itool.properties not detected
    Use normal startup: true
    Starting tomcat. Check logs/tomcat.log for error messages
    after that ,i started MI Client or double clicked MobileEngine.exe . I am getting Page Cannot be Displayed Error.
    Please let me know ,am i missing any configuration settings.
    Thanks a Lot
    Madhan

    I have no files as agent.properties. When I want to start SAP Mobile Client it says Time out 61. Can not connect to server.
    And here is the trace file.
    [20060620 13:02:28:218] I [MI/API/Logging           ] ***** LOG / TRACE SWITCHED ON
    [20060620 13:02:28:218] I [MI/API/Logging           ] ***** Mobile Engine version: MI 25 SP 15 Patch 00 Build 200512142038
    [20060620 13:02:28:218] I [MI/API/Logging           ] ***** Current timezone: Europe/Istanbul
    [20060620 13:02:28:280] A [MI/Persistence           ] com.sap.ip.me.core.PersistedDataUpgradeComponent miSyncDataVersionBeforeConversion is 251300
    [20060620 13:02:28:280] A [MI/Persistence           ] No upgrade necessary for com.sap.ip.me.core.PersistedDataUpgradeComponent because MI.Sync.DataVersion is 251300
    [20060620 13:02:28:781] I [MI/Core                  ] The https protocol is able to run with the currently used java version: 1.4.2_08
    [20060620 13:02:28:796] D [MI/Core                  ] System property javax.net.ssl.keyStore has value: C:\Program Files\SAP Mobile Infrastructure\settings\keystore
    [20060620 13:02:28:796] D [MI/Core                  ] System property javax.net.ssl.trustStore has value: C:\Program Files\SAP Mobile Infrastructure\settings\truststore
    [20060620 13:02:28:796] D [MI/Core                  ] SecurityManager: The following security providers are available:
    [20060620 13:02:28:796] D [MI/Core                  ]   Name: SUN, preference order: 1, info: SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores), version: 1.42.
    [20060620 13:02:28:812] D [MI/Core                  ]   Name: SunJSSE, preference order: 2, info: Sun JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust factories, SSLv3, TLSv1), version: 1.42.
    [20060620 13:02:28:812] D [MI/Core                  ]   Name: SunRsaSign, preference order: 3, info: SUN's provider for RSA signatures, version: 1.42.
    [20060620 13:02:28:812] D [MI/Core                  ]   Name: SunJCE, preference order: 4, info: SunJCE Provider (implements DES, Triple DES, AES, Blowfish, PBE, Diffie-Hellman, HMAC-MD5, HMAC-SHA1), version: 1.42.
    [20060620 13:02:28:812] D [MI/Core                  ]   Name: SunJGSS, preference order: 5, info: Sun (Kerberos v5), version: 1.
    [20060620 13:02:28:812] D [MI/Core                  ] SecurityManager: The following message digest algorithm was instantiated:  SHA-1 Message Digest from SUN, <initialized>
    [20060620 13:02:28:812] D [MI/Core                  ] SecurityManager: Selected synchronization password handling option:  AtSync
    [20060620 13:02:28:812] D [MI/API/Configuration     ] null (root cause: null [java.lang.NumberFormatException])
    [20060620 13:02:28:843] D [MI/Core                  ] New UserManager SINGLETON created : com.sap.ip.me.core.UserManagerImpl@15a8767
    [20060620 13:02:28:859] P [MI/Core                  ] Set current application to 'Framework'
    [20060620 13:02:28:968] D [MI/Core                  ] load conversation id 176EB66BA658CD47B23668F9ACD46510
    [20060620 13:02:28:984] D [MI/Core                  ] load conversation id 03E9B5EB17196145B9B19E0993E1BEF1
    [20060620 13:02:29:000] D [MI/Core                  ] load conversation id 19E00AF9B0B020409F1B04A15E51FCF6
    [20060620 13:02:29:031] D [MI/Core                  ] load conversation id 4FE8C3EB9BA8CD4CBA0177B6B9427141
    [20060620 13:02:29:031] D [MI/Core                  ] load conversation id D4A0AA68D9E1EF4BB32BE1417BE43DC5
    [20060620 13:02:29:031] D [MI/Core                  ] load conversation id 863106AB9593D34C842657C72A0EE240
    [20060620 13:02:29:046] D [MI/Core                  ] load conversation id 20C28975ABA38840ACD50BF27B0CDE2C
    [20060620 13:02:29:046] D [MI/Core                  ] load conversation id MI2853484152454429
    [20060620 13:02:29:046] D [MI/Core                  ] load conversation id MI50454c494e
    [20060620 13:02:29:062] D [MI/Core                  ] load conversation id MI43524d524643
    [20060620 13:02:29:062] D [MI/Core                  ] load conversation id 0C0D21BD9FC56F4BB292DD05716B64A5
    [20060620 13:02:29:078] D [MI/Core                  ] load conversation id AA171B4F6252D54A96D9D499ACA05E29
    [20060620 13:02:29:125] D [MI/API/Services          ] Read Hashtable from directory C:\Program Files\SAP Mobile Infrastructure\sync\eventListeners
    [20060620 13:02:29:265] D [MI/Core                  ] GzipDataCompressionConfiguration: GzipDataCompression is switched on.
    [20060620 13:02:29:297] I [MI/Core                  ] MI OS installer lib (C:\Program Files\SAP Mobile Infrastructure\bin\NATSTART.DLL) loaded successfully
    [20060620 13:02:29:297] I [MI/Core                  ] Libraries are loaded
    [20060620 13:02:29:297] I [MI/API/Persistence       ] Determined PersistenceImplementation (implementation / config paramter value): DB2E / DB2E
    [20060620 13:02:29:406] D [MI/Core                  ] DB2e DLLs loaded
    [20060620 13:02:29:531] D [MI/API/Services          ] Read Hashtable from directory C:\Program Files\SAP Mobile Infrastructure\sync\inboundProcessors
    [20060620 13:02:29:969] D [MI/API/Services          ] Read Hashtable from directory C:\Program Files\SAP Mobile Infrastructure\sync\registeredMethods
    [20060620 13:02:30:047] D [MI/Sync                  ] Start dumping of registered inbound processors (inboundProcessors)
    [20060620 13:02:30:047] D [MI/Sync                  ]   "WAF_INSTALLATION_LOG" --> com.sap.ip.me.core.InstallationLog
    [20060620 13:02:30:047] D [MI/Sync                  ]   "WAF_REGISTRY" --> com.sapmarkets.web.liTS.util.reg.RegistrySyncInboundProcessing
    [20060620 13:02:30:047] D [MI/Sync                  ]   "CLIENT_ALERT" --> com.sap.ip.me.ccms.AlertInboundProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "SYSTEMNEWS" --> com.sap.ip.mi.systemnews.InboundListener
    [20060620 13:02:30:047] D [MI/Sync                  ]   "CRMHH_SYNC_PLAYBACK" --> com.sap.crm.handheld.core.sync.response.UpSyncProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "DEVICEINFO" --> com.sap.ip.me.core.DeviceAttributeInboundProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "MI_SET_CLIENTTRACE" --> com.sap.ip.me.ccms.remotetracing.RemoteTracingInboundProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "AGENT_PARAMETERS" --> com.sap.ip.me.services.os.AgentManager$AgentInboundProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "SMARTSYNC" --> com.sap.ip.me.smartsync.core.SyncAdapter
    [20060620 13:02:30:047] D [MI/Sync                  ]   "CRMHH_SYNC" --> com.sap.crm.handheld.core.sync.response.DownSyncProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ]   "CENTRAL_TRACING" --> com.sap.ip.me.sync.LogSenderInboundProcessor
    [20060620 13:02:30:047] D [MI/Sync                  ] End of dump of registered inbound processors (inboundProcessors)
    [20060620 13:02:30:047] D [MI/Sync                  ] Register inbound processor com.sap.ip.me.smartsync.core.SyncAdapter for method SMARTSYNC
    [20060620 13:02:30:063] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 176EB66BA658CD47B23668F9ACD46510
    [20060620 13:02:30:063] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 03E9B5EB17196145B9B19E0993E1BEF1
    [20060620 13:02:30:063] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 19E00AF9B0B020409F1B04A15E51FCF6
    [20060620 13:02:30:078] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 863106AB9593D34C842657C72A0EE240
    [20060620 13:02:30:078] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 20C28975ABA38840ACD50BF27B0CDE2C
    [20060620 13:02:30:078] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId 4FE8C3EB9BA8CD4CBA0177B6B9427141
    [20060620 13:02:30:078] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId D4A0AA68D9E1EF4BB32BE1417BE43DC5
    [20060620 13:02:30:110] D [MI/API/Sync              ] SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 was registered for key com.sap.ip.me.smartsync.core.SyncAdapter/MI2853484152454429
    [20060620 13:02:30:110] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId MI50454c494e
    [20060620 13:02:30:110] D [MI/API/Sync              ] Do not register SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 for ConvId MI43524d524643
    [20060620 13:02:30:141] D [MI/API/Sync              ] SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 was registered for key com.sap.ip.me.smartsync.core.SyncAdapter/0C0D21BD9FC56F4BB292DD05716B64A5
    [20060620 13:02:30:188] D [MI/API/Sync              ] SyncEventListener com.sap.ip.me.smartsync.core.SyncAdapter@18d9850 was registered for key com.sap.ip.me.smartsync.core.SyncAdapter/AA171B4F6252D54A96D9D499ACA05E29
    [20060620 13:02:30:188] D [MI/Smartsync             ] Smart Sync Framework successfully initialzed.
    [20060620 13:02:30:235] D [MI/API/Sync              ] SyncEventListener com.sap.ip.me.ccms.AlertManagerImpl@b5dac4 was registered for key com.sap.ip.me.ccms.AlertManagerImpl/MI2853484152454429
    [20060620 13:02:30:235] D [MI/Sync                  ] Register inbound processor com.sap.ip.me.ccms.AlertInboundProcessor for method CLIENT_ALERT
    [20060620 13:02:30:313] D [MI/API/Sync              ] SyncEventListener com.sap.ip.me.ccms.LastSuccessfulSyncAlert@1ff0dde was registered for key com.sap.ip.me.ccms.LastSuccessfulSyncAlert/MI2853484152454429
    [20060620 13:02:30:391] I [MI/Services/Os           ] Error:.java.lang.NullPointerException

Maybe you are looking for

  • Font weight preview in CC 2014

    Is there any way to show just one weight in the font list like before (with a submenu dropdown for the weights) instead of the entire font family showing? Some font families have over a 100 weights and I don't want to scroll through 100 slightly-diff

  • Backup from Ipod to computer

    I am having a hard time to backup (or synch if you will) all files from Ipod to a new computer using ONLY I-tunes. Does anyone have a step-by-step solution or a workaround using a freeware? thanks

  • SM Interface Monitoring (BPM)

    Hi, O.K I have setup successfully the BPM in SOLMAN for cancelled, delayed ..etc mintoring but interafce monitoring for IDOC's seems abit elusive. For a standard IDOC monitoring (i.e. by message type and status), does anyone know the requried steps t

  • Remove gray rectangle around submit button?

    Is there a way to remove the gray rectangle that seems to be the footer area where the submit button is held? It looks pretty ugly to have that gray area after designing the rest of the form. Thanks, Steve

  • Drop/delete tablespace

    hi how can i delete table-spaces,but i what to delete those tablespace which are not been used how can i check if tabalespaces is been used and delete it if is not used