Tuesday, September 4, 2012

Can you example for Cipher getInstance()?

Cipher.getInstance("RSA/ECB/PKCS1Padding") Creates a Cipher object (specifying the algorithm, mode, and padding).


Can JDK 1.4 supports RSA (Assymetric cryptography)algoritm?

RSA. This algorithm is the most popular public key cipher, but it's not supported in JDK 1.4.
You must use a third-party library like BouncyCastle to get this support.

Thursday, August 30, 2012

How can you add BouncyCastle Provider to to JCE providers list?

public final class BouncyCastleProvider
extends java.security.Provider
implements org.bouncycastle.jcajce.provider.config.ConfigurableProvider
To add the provider at runtime use:
 import java.security.Security;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;

 Security.addProvider(new BouncyCastleProvider());
 
The provider can also be configured as part of your environment via static registration by adding an entry to the java.security properties file (found in $JAVA_HOME/jre/lib/security/java.security, where $JAVA_HOME is the location of your JDK/JRE distribution). You'll find detailed instructions in the file but basically it comes down to adding a line:
 
    security.provider.=org.bouncycastle.jce.provider.BouncyCastleProvider
 
 
Where is the preference you want the provider at (1 being the most preferred).


  Program to display Provider services


package com.suresh.security;

import java.security.Provider;
import java.security.Provider.Service;
import java.security.Security;
import java.util.Iterator;
import java.util.Set;


public class ListSecurityProviders {

   
    public static void main(String[] args) {
        Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
        Provider[] providers = Security.getProviders();
        for(Provider p:providers){
            System.out.println("Provider Name: "+ p.getName());
            System.out.println("services provided are :");
            Set service = p.getServices();
            Iterator itr = service.iterator();
            while(itr.hasNext()){
                Service s = (Service) itr.next();
                System.out.println(s.getAlgorithm());
            }
           
            System.out.println("\n\n\n");
        }
       
    }
}



Output:

Provider Name: BC
services provided are :
GOST3411
HMACGOST3411
HMACGOST3411
MD2
HMACMD2
HMACMD2
MD4
HMACMD4
HMACMD4
MD5
HMACMD5
HMACMD5
SHA-1
HMACSHA1
HMACSHA1
RIPEMD128
HMACRIPEMD128
HMACRIPEMD128
RIPEMD160
HMACRIPEMD160
HMACRIPEMD160
RIPEMD256
HMACRIPEMD256
HMACRIPEMD256
RIPEMD320
HMACRIPEMD320
HMACRIPEMD320
SHA-224
HMACSHA224
HMACSHA224
SHA-256
HMACSHA256
HMACSHA256
SHA-384
HMACSHA384
HMACSHA384
SHA-512
HMACSHA512
HMACSHA512
TIGER
HMACTIGER
HMACTIGER
WHIRLPOOL
HMACWHIRLPOOL
HMACWHIRLPOOL
AES
AES
AES
2.16.840.1.101.3.4.1.1
2.16.840.1.101.3.4.1.21
2.16.840.1.101.3.4.1.41
2.16.840.1.101.3.4.1.2
2.16.840.1.101.3.4.1.22
2.16.840.1.101.3.4.1.42
2.16.840.1.101.3.4.1.3
2.16.840.1.101.3.4.1.23
2.16.840.1.101.3.4.1.43
2.16.840.1.101.3.4.1.4
2.16.840.1.101.3.4.1.24
2.16.840.1.101.3.4.1.44
AESWRAP
AESRFC3211WRAP
AES
2.16.840.1.101.3.4.2
2.16.840.1.101.3.4.22
2.16.840.1.101.3.4.42
2.16.840.1.101.3.4.1.1
2.16.840.1.101.3.4.1.2
2.16.840.1.101.3.4.1.3
2.16.840.1.101.3.4.1.4
2.16.840.1.101.3.4.1.21
2.16.840.1.101.3.4.1.22
2.16.840.1.101.3.4.1.23
2.16.840.1.101.3.4.1.24
2.16.840.1.101.3.4.1.41
2.16.840.1.101.3.4.1.42
2.16.840.1.101.3.4.1.43
2.16.840.1.101.3.4.1.44
AESWRAP
2.16.840.1.101.3.4.1.5
2.16.840.1.101.3.4.1.25
2.16.840.1.101.3.4.1.45
AESCMAC
ARC4
ARC4
BLOWFISH
1.3.6.1.4.1.3029.1.2
BLOWFISH
BLOWFISH
CAMELLIA
CAMELLIA
CAMELLIA
1.2.392.200011.61.1.1.1.2
1.2.392.200011.61.1.1.1.3
1.2.392.200011.61.1.1.1.4
CAMELLIARFC3211WRAP
CAMELLIAWRAP
CAMELLIA
1.2.392.200011.61.1.1.3.2
1.2.392.200011.61.1.1.3.3
1.2.392.200011.61.1.1.3.4
1.2.392.200011.61.1.1.1.2
1.2.392.200011.61.1.1.1.3
1.2.392.200011.61.1.1.1.4
CAST5
CAST5
CAST5
1.2.840.113533.7.66.10
CAST5
CAST6
CAST6
DES
1.3.14.3.2.7
DES
DESRFC3211WRAP
DES
DESCMAC
DESMAC
DESMAC/CFB8
DESMAC64
DESMAC64WITHISO7816-4PADDING
DES
DES
DESEDE
1.2.840.113549.3.7
DESEDEWRAP
1.2.840.113549.1.9.16.3.6
DESEDERFC3211WRAP
PBEWITHSHAAND3-KEYTRIPLEDES-CBC
BROKENPBEWITHSHAAND3-KEYTRIPLEDES-CBC
OLDPBEWITHSHAAND3-KEYTRIPLEDES-CBC
PBEWITHSHAAND2-KEYTRIPLEDES-CBC
BROKENPBEWITHSHAAND2-KEYTRIPLEDES-CBC
DESEDE
1.2.840.113549.3.7
DESEDEWRAP
DESEDE
DESEDECMAC
DESEDEMAC
DESEDEMAC/CFB8
DESEDEMAC64
DESEDEMAC64WITHISO7816-4PADDING
DESEDE
DESEDE
GOST28147
1.2.643.2.2.21
GOST28147
GOST28147MAC
Grainv1
Grainv1
Grain128
Grain128
HC128
HC128
HC256
HC256
NOEKEON
NOEKEON
NOEKEON
NOEKEON
RC2
1.2.840.113549.3.2
RC2
1.2.840.113549.3.2
RC2
1.2.840.113549.3.2
RC2
RC2WRAP
1.2.840.113549.3.2
RC2MAC
RC2MAC/CFB8
RC5
RC5-64
RC5
RC5-64
RC5
RC5-64
RC5MAC
RC5MAC/CFB8
RC6
RC6
RC6
RIJNDAEL
RIJNDAEL
RIJNDAEL
SALSA20
SALSA20
SEED
SEED
SEED
1.2.410.200004.1.4
SEEDWRAP
SEED
1.2.410.200004.1.4
1.2.410.200004.7.1.1.1
Serpent
Serpent
Serpent
SKIPJACK
SKIPJACK
SKIPJACK
SKIPJACKMAC
SKIPJACKMAC/CFB8
TEA
TEA
TEA
Twofish
Twofish
Twofish
VMPC
VMPC
VMPCMAC
VMPC-KSA3
VMPC-KSA3
XTEA
XTEA
XTEA
X.509
X.509
DSA
DSA
DSA
DSA
DSA
NONEWITHDSA
SHA224WITHDSA
SHA256WITHDSA
SHA384WITHDSA
SHA512WITHDSA
DH
DH
DH
DH
DH
ECDH
ECDHC
ECMQV
1.3.133.16.840.63.0.2
1.3.133.16.840.63.0.16
EC
EC
ECMQV
ECMQV
ECDSA
ECDH
ECDHC
ECDSA
ECDH
ECDHC
ECIES
ECDSA
NONEwithECDSA
SHA224WITHECDSA
SHA256WITHECDSA
SHA384WITHECDSA
SHA512WITHECDSA
RIPEMD160WITHECDSA
SHA1WITHECNR
SHA224WITHECNR
SHA256WITHECNR
SHA384WITHECNR
SHA512WITHECNR
SHA1WITHCVC-ECDSA
SHA224WITHCVC-ECDSA
SHA256WITHCVC-ECDSA
OAEP
PSS
RSA
RSA/RAW
RSA/PKCS1
1.2.840.113549.1.1.1
2.5.8.1.1
RSA/1
RSA/2
RSA/OAEP
1.2.840.113549.1.1.7
RSA/ISO9796-1
RSA
RSA
RSASSA-PSS
1.2.840.113549.1.1.10
OID.1.2.840.113549.1.1.10
SHA224withRSA/PSS
SHA256withRSA/PSS
SHA384withRSA/PSS
SHA512withRSA/PSS
RSA
RAWRSASSA-PSS
MD2WITHRSA
MD4WITHRSA
MD5WITHRSA
MD5withRSA/ISO9796-2
SHA1withRSA/PSS
SHA1WITHRSA
SHA1withRSA/ISO9796-2
SHA224WITHRSA
SHA256WITHRSA
SHA384WITHRSA
SHA512WITHRSA
RIPEMD128WITHRSA
RMD128WITHRSA
RIPEMD160WITHRSA
RMD160WITHRSA
RIPEMD160withRSA/ISO9796-2
RIPEMD256WITHRSA
RMD256WITHRSA
GOST3410
GOST3410
GOST3410
GOST3410
GOST3410
ECGOST3410
ECGOST3410
ECGOST3410
GOST3411WITHECGOST3410
ELGAMAL
ELGAMAL
ELGAMAL
ELGAMAL/PKCS1
ELGAMAL
ELGAMAL
CERTIFICATE/COLLECTION
ATTRIBUTECERTIFICATE/COLLECTION
CRL/COLLECTION
CERTIFICATEPAIR/COLLECTION
CERTIFICATE/LDAP
CRL/LDAP
ATTRIBUTECERTIFICATE/LDAP
CERTIFICATEPAIR/LDAP
CERTIFICATE
ATTRIBUTECERTIFICATE
CRL
CERTIFICATEPAIR
BKS
BouncyCastle
PKCS12
BCPKCS12
PKCS12-DEF
PKCS12-3DES-40RC2
PKCS12-3DES-3DES
PKCS12-DEF-3DES-40RC2
PKCS12-DEF-3DES-3DES
IES
PKCS12PBE
1.2.840.113549.1.5.12
SHA1WITHECDSA
SHA224WITHECDSA
SHA256WITHECDSA
SHA384WITHECDSA
SHA512WITHECDSA
ECIES
BrokenECIES
IES
BrokenIES
PBEWITHMD5ANDDES
BROKENPBEWITHMD5ANDDES
PBEWITHMD5ANDRC2
PBEWITHSHA1ANDDES
BROKENPBEWITHSHA1ANDDES
PBEWITHSHA1ANDRC2
PBEWITHSHAAND128BITRC2-CBC
PBEWITHSHAAND40BITRC2-CBC
PBEWITHSHAAND128BITRC4
PBEWITHSHAAND40BITRC4
PBEWITHSHAAND128BITAES-CBC-BC
PBEWITHSHAAND192BITAES-CBC-BC
PBEWITHSHAAND256BITAES-CBC-BC
PBEWITHSHA256AND128BITAES-CBC-BC
PBEWITHSHA256AND192BITAES-CBC-BC
PBEWITHSHA256AND256BITAES-CBC-BC
PBEWITHMD5AND128BITAES-CBC-OPENSSL
PBEWITHMD5AND192BITAES-CBC-OPENSSL
PBEWITHMD5AND256BITAES-CBC-OPENSSL
PBEWITHSHAANDTWOFISH-CBC
OLDPBEWITHSHAANDTWOFISH-CBC
PBEWITHMD2ANDDES
PBEWITHMD2ANDRC2
PBEWITHMD5ANDDES
PBEWITHMD5ANDRC2
PBEWITHSHA1ANDDES
PBEWITHSHA1ANDRC2
PBEWITHSHAAND3-KEYTRIPLEDES-CBC
PBEWITHSHAAND2-KEYTRIPLEDES-CBC
PBEWITHSHAAND128BITRC4
PBEWITHSHAAND40BITRC4
PBEWITHSHAAND128BITRC2-CBC
PBEWITHSHAAND40BITRC2-CBC
PBEWITHSHAANDTWOFISH-CBC
PBEWITHHMACRIPEMD160
PBEWITHHMACSHA1
PBEWITHHMACTIGER
PBEWITHMD5AND128BITAES-CBC-OPENSSL
PBEWITHMD5AND192BITAES-CBC-OPENSSL
PBEWITHMD5AND256BITAES-CBC-OPENSSL
PBEWITHSHAAND128BITAES-CBC-BC
PBEWITHSHAAND192BITAES-CBC-BC
PBEWITHSHAAND256BITAES-CBC-BC
PBEWITHSHA256AND128BITAES-CBC-BC
PBEWITHSHA256AND192BITAES-CBC-BC
PBEWITHSHA256AND256BITAES-CBC-BC
DESWITHISO9797
ISO9797ALG3MAC
ISO9797ALG3WITHISO7816-4PADDING
OLDHMACSHA384
OLDHMACSHA512
PBEWITHHMACSHA
PBEWITHHMACSHA1
PBEWITHHMACRIPEMD160
RFC3281
RFC3281
RFC3280
RFC3280
PKIX
PKIX
Collection
LDAP
Multi

Write a program to list out provides in the JRE and services provides by each provider?

package com.suresh.security;

import java.security.Provider;
import java.security.Provider.Service;
import java.security.Security;
import java.util.Iterator;
import java.util.Set;


public class ListSecurityProviders {

   
    public static void main(String[] args) {
        Provider[] providers = Security.getProviders();
        for(Provider p:providers){
            System.out.println("Provider Name: "+ p.getName());
            Set service = p.getServices();
            Iterator itr = service.iterator();
            while(itr.hasNext()){
                Service s = (Service) itr.next();
                System.out.println(s.getAlgorithm());
            }
           
            System.out.println("\n\n\n");
        }
       
    }
}


Output:


Provider Name: SUN
services provided are :
SHA1PRNG
SHA1withDSA
NONEwithDSA
DSA
MD2
MD5
SHA
SHA-256
SHA-384
SHA-512
DSA
DSA
DSA
X.509
JKS
CaseExactJKS
JavaPolicy
JavaLoginConfig
PKIX
PKIX
LDAP
Collection
com.sun.security.IndexedCollection




Provider Name: SunRsaSign
services provided are :
RSA
RSA
MD2withRSA
MD5withRSA
SHA1withRSA
SHA256withRSA
SHA384withRSA
SHA512withRSA




Provider Name: SunJSSE
services provided are :
RSA
RSA
MD2withRSA
MD5withRSA
SHA1withRSA
MD5andSHA1withRSA
SunX509
NewSunX509
SunX509
PKIX
SSL
SSLv3
TLS
TLSv1
Default
PKCS12




Provider Name: SunJCE
services provided are :
RSA
DES
DESede
DESedeWrap
PBEWithMD5AndDES
PBEWithMD5AndTripleDES
PBEWithSHA1AndRC2_40
PBEWithSHA1AndDESede
Blowfish
AES
AESWrap
RC2
ARCFOUR
DES
DESede
Blowfish
AES
RC2
ARCFOUR
HmacMD5
HmacSHA1
HmacSHA256
HmacSHA384
HmacSHA512
DiffieHellman
DiffieHellman
DiffieHellman
DiffieHellman
DES
DESede
PBE
PBEWithMD5AndDES
PBEWithMD5AndTripleDES
PBEWithSHA1AndDESede
PBEWithSHA1AndRC2_40
Blowfish
AES
RC2
OAEP
DiffieHellman
DES
DESede
PBEWithMD5AndDES
PBEWithMD5AndTripleDES
PBEWithSHA1AndDESede
PBEWithSHA1AndRC2_40
PBKDF2WithHmacSHA1
HmacMD5
HmacSHA1
HmacSHA256
HmacSHA384
HmacSHA512
HmacPBESHA1
SslMacMD5
SslMacSHA1
JCEKS
SunTlsPrf
SunTlsRsaPremasterSecret
SunTlsMasterSecret
SunTlsKeyMaterial




Provider Name: SunJGSS
services provided are :
1.2.840.113554.1.2.2
1.3.6.1.5.5.2




Provider Name: SunSASL
services provided are :
DIGEST-MD5
GSSAPI
EXTERNAL
PLAIN
CRAM-MD5
CRAM-MD5
GSSAPI
DIGEST-MD5




Provider Name: XMLDSig
services provided are :
http://www.w3.org/2000/09/xmldsig#enveloped-signature
http://www.w3.org/2002/06/xmldsig-filter2
http://www.w3.org/2001/10/xml-exc-c14n#WithComments
http://www.w3.org/2001/10/xml-exc-c14n#
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
DOM
http://www.w3.org/2000/09/xmldsig#base64
http://www.w3.org/TR/2001/REC-xml-c14n-20010315
http://www.w3.org/TR/1999/REC-xpath-19991116
http://www.w3.org/TR/1999/REC-xslt-19991116
DOM




Provider Name: SunPCSC
services provided are :
PC/SC







what is JCA and JCE?

Java Cryptography Architecture (JCA)

 Java Cryptographic Extensions (JCE)

 The JCE is essentially a framework under the JCA and extends the JCA by simply exposing
more engines and including an additional provider, the SUNJCE provider, that includes one or
more implementations for each engine

The JCE framework places its classes in a different package, javax.crypto. Some of the
JCE specific aspects are Cipher Class (for performing encryption and decryption operations),
KeyGenerator (for producing secret keys used by ciphers), SecretKeyFactory (that operate
exclusively on SecretKey instances), KeyAgreement, and MAC



The term provider refers to a package or set of packages that implement one or more cryptographic services, such as digital signature algorithms, message digest algorithms, and key conversion services

Explain SHA Algorithm?

The secure hash algorithm (SHA) is the set of hash functions designed by the NSA. There are
three SHA algorithms known as SHA-0, SHA-1, and SHA-2, respectively. SHA-1 is the most
popular hash function among the SHA algorithms and is the most widely adopted in commercial
products. There have been some weaknesses discovered in SHA-1, which prompted the creation
of a much stronger SHA-2, and a SHA-3 is also under development and will be chosen based on
a competition somewhere between 2008 and 2012.


The SHA-0 was published as a specification by NIST in the year 1993. This was superseded
in 1995, by SHA-1, which corrected some of the flaws of SHA-0. SHA-1 and SHA-0 generated a
160-bit hash value (message digest) from a variable-length message or file.
SHA-2 was created to overcome of the weaknesses of SHA-1. This consists of the SHA-224,
SHA-256, SHA-384, and SHA-512 algorithms, where the lengths of the message digests are
expressed in the numbers succeeding the word SHA. The NSA has recommended that the use of
SHA-1 be discontinued because of a known flaw in the algorith

Can you give one example of one way hash function?

MD5 is one of the most popular one-way hash functions in the world. The MD5 generates
a 128-bit hash value. The hash function generates a fixed-length hash value after a cleartext
message or file is passed through an encryption algorithm

What is RSA Encryption Algorithm?

The RSA is the first algorithm in the world that can be used for digital signatures as well as encryption

RSA creates a public key and a private key, called a keypair, using its key generation method, from a function of large prime numbers. Data encrypted with the public key can only be decrypted with its corresponding private key and vice versa


RSA is a very popular algorithm in software implementations and is used in operating systems. RSA is also used for key exchange, where symmetric keys are encrypted with the recipient’s public key and sent to the recipient, who can only decrypt the symmetric key with the corresponding private key.


The recommended key length for RSA is 1024 bits and above. Key lengths of 512 bits are not  considered secure for current-day implementations. The Java Cryptographic Extensions provide the capability to generate an RSA keypair and perform operations with the generated keys





Sunday, August 19, 2012

Dynamic web module version in Eclipse - New Dynamic web project?

How to increase Java Heap Size?

-Xms256m -Xmx512m

what are the Java EE version supported by tomcat 7?











create database , user and grant priviliges on MySQL?

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| portaldb           |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> create database schooldb;
Query OK, 1 row affected (0.01 sec)

mysql> create user suser@'localhost' identified by 'suser123';
Query OK, 0 rows affected (0.06 sec)

mysql> grant all on scholldb.* to suser@'localhost';
Query OK, 0 rows affected (0.02 sec)


Monday, August 13, 2012

what are the web service runtime environments available in IBM WAS Server?

Web services runtime environments

Three runtime environments are available in which Web services can run. Each environment supports different servers and standards.
The following runtime environments are supported for Web service generation: The IBM WebSphere JAX-WS runtime environment is the strategic Web services runtime supported by IBM. The IBM WebSphere JAX-RPC runtime is a legacy environment which is still supported, however new applications should use JAX-WS whenever possible. The Apache Axis 1.4 runtime is an open source runtime supported by the tools, however it is not recommended for use in a production environment.
 
 
IBM WebSphere JAX-RPC
WebSphere Application Server v5.0, v5.1, v6.0, v6.1.
Apache Axis 1.3
Apache Tomcat v4.0,.v4.1,.v5.0, v5.5. WebSphere Application Server v5.0, v5.1, v6.0, v6.1.

The following runtime/server configurations are supported:
IBM WebSphere JAX-WS
WebSphere Application Server v6.1.1.3 or later with the Feature Pack for Web Services installed, or WebSphere Application Server v7.0 or v8.0.
IBM WebSphere JAX-RPC
WebSphere Application Server v6.0, v6.1, v7.0, v8.0.
Apache Axis 1.4
Supported on all servers supporting servlet API 2.3 or higher. This includes but is not limited to: Apache Tomcat v4.x,.v5.x, v6.0. WebSphere Application Server v6.0, v6.1, v7.0.

Thursday, July 26, 2012

How DWR sends engin.js & Util.js to clent browser?

1. When We are using DWR framework  we include engine.js , Util.js and our application specific js files in JSPs like this

Ex:

<%-- DWR script : added in center tile as these scripts are generated at run time--%>
       
       
       
<%-- DWR script --%>


2. if you look at our WEB-INF folder or WAR file we dont see engine.js or utils.js

3. These files are inside dwr.jar file which we calls DWR frawework. DWRServlet serves these JS files from JAR when request comes from browser

4. when browser requested engins.js ,  request goes into DWR Servlet


Web.xml



   
        dwr-invoker
        /dwr/*
   

   





Browser Request:

https://www.mysite.com/MYWEBAPP/dwr/engine.js




5. We can look at src code of DWR Frawework




package org.directwebremoting.servlet;

/**
 * A Handler that supports requests for engine.js
 * @author Joe Walker [joe at getahead dot ltd dot uk]
 */
public class EngineHandler extends BaseEngineHandler
{
    // File is served without additions so all code is in superclass
}










**
 * A Handler that supports requests for engine.js
 * @author Joe Walker [joe at getahead dot ltd dot uk]
 */
public class BaseEngineHandler extends FileJavaScriptHandler
{
    /**
     * Setup the default values
     */
    public BaseEngineHandler()
    {
        super(DwrConstants.PACKAGE_PATH + "/engine.js", DwrConstants.PACKAGE_PATH + "/copyright.txt");
    }
...
}




6. Obviously calculator.js is generated at run time by DWR Servlet and serves to browser


So Don't worry about engine.js / util.js in your web application folder

Sunday, July 22, 2012

Zodic signs - Rashulu

BIRTHSTAR - SIGN TABLE
Group of birth stars
Sign / Raasi
Aswani, Bharani & krithika 1st charan
ARIES / MESHA
Krithika 2,3,4 charans, Rohini & Mrugasira 1,2 charanas
Mrugasira 3,4 charanas, Arudra & Punarvasu 1,2,3 charanas
Punarvasu 4th charana, Pushyami & Aslesha
Magha, Purva phalguni& Uttara 1st charana
Uttara 2,3,4 charana, Hastha & Chittra 1,2 charana
Chittra 3,4 charana, Swathi & Vishaka 1,2,3 charanas
Vishaka 4 charana, Anuradha & Jyesta
Moola , Purvashada & Uttarasada 1 st charana
Uttarashada 2,3,4 charana ,Sravanam& Dhanitshta 1,2 charana
Dhanitshta 3,4 charana, Satabhisham& Purvabhadra 1,2,3 charana
Purvabhadra 4th charana, Uttarabhadra & Revathi
BIRTHDAY - SIGN TABLE
Birth Date & month
SIGN or RASI
MARCH 21 to APRIL 20
APRIL 21 to MAY 21
MAY 22 to JUNE 21
JUNE 22 to JULY 23
JULY 24 to AUGUST 23
AUGUST 24 to SEPTEMBER 23
SEPTEMBER 24 to OCTOBER 23
OCTOBER 24 to NOVEMBER 23
NOVEMBER 24 to DECEMBER 22
DECEMBER 23 to JANUARY 22
JANUARY 23 to FEBRUARY 20
FEBRUARY 21 to MARCH 20
PISCES / MEENA