为 Android 程序创建 CA keystore 以及 self-signed keystore 的方法 - yanbin's Blog

为 Android 程序创建 CA keystore 以及 self-signed keystore 的方法

yanbin posted @ 2015年3月29日 18:36 in Networking with tags programming Networking , 15292 阅读
为什么 Android 程序需要 CA KeyStore?
1. 在 Android 程序中建立一条 SSL/TLS 连接时,受信任 CA (Trusted CAs) 用来验证 server。
    Public-Key Infrastructure (PKI) 中有 trust certs 概念,许多网络工具实现了 trusted CA 的使用。
    比如: curl, Android URLConnection.
    Android 系统中有一个 trusted CAs list, 包含 100 多个 trusted CAs.
  
2. 建立 SSL/TLS 连接时现有的 trusted CAs 不能验证服务器证书,会引发一个 security exception:
       javax.net.ssl.SSLHandshakeException: ... : Trust anchor for certification path not found.
   具体而言,以下这些情况会引发这个问题:
      (a) The CA that issued the server certificate was unknown;
      (b) The server certificate wasn't signed by a CA, but was self signed;
      (c) The server configuration is missing an intermediate CA;
 
3. 针对(a) 和 (b) 这两种情况,解决方法是创建 SSL/TLS 连接时使用 Android TurstManager 工具。
    在 Android 程序中 TrustManager 用 KeyStore instance 初始化,而 KeyStore instance 读取/解析
    BKS/JKS 格式的 KeyStore 文件,获得证书信息。
  
4. 使用 keytool 工具创建 BKS 格式的 KeyStore 文件。
    keytool 在多数 linux 发行版中都可以通过 package 管理工具获得。
    keytool 创建 BKS 格式的 KeyStore 文件需要用到 BouncyCastle Provider, 这个文件 JRE 不提供,
    keytool 本身也没有提供,需要下载后通过参数指定。创建 JKS 格式的 KeyStore 不用这个文件。
 
    $ keytool -importcert -v -trustcacerts -file "root-ca.crt" -alias root-ca -keystore "root-ca.bks"
       -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-145.jar"
       -storetype BKS -storepass zhelishimia
 
   验证 keystore 文件是否正确:
   $ keytool -list -keystore "root-ca.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider
     -providerpath "bcprov-jdk16-145.jar" -storetype BKS -storepass zhelishimima
 
5. 也可以直接用 server certificate 生成 keystore 并且设置为 trusted, 不过这样做不够安全,而且 server
    端的证书有改变时还需要生成新的证书。
  
 
有时也客户端程序也用证书标识自己的身份。或者有些 JAVA server 程序中建立 SSL 连接时用 KeyStore
提供证书信息。
1. 使用 openssl 工具转换 X509 格式的 public certificate 和 private key 为 pkcs12 格式的文件。
    $ openssl pkcs12 -export -in broker.crt -inkey broker.key -out broker.p12 -name client001
       -CAfile root-ca.crt -chain
 
2. 使用 openssl 工具和 pkcs12 文件生成 keystore
    $ keytool -importcert -v -trustcacerts -file "root-ca.crt" -alias root-ca -keystore "root-ca.bks"
       -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-145.jar"
       -storetype BKS -storepass 12345678
 
3. 在 Android 程序中, 建立一条 SSL 连接时可以用 KeyManager 工具指定本端的 public certificate,
    private key, KeyManager 需要用 KeyStore instace 初始化,KeyStore instance 加载/解析 keystore 文件,
    获取 public certificate 以及 private key 信息。
 
 
参考:

   

Avatar_small
lolnexus 说:
2017年10月14日 14:24

It is a great article. You will surely like this also because it is a great stuff, yeah it’s give us lots of interest and pleasure. Their opportunities are so fantastic and working style so speedy. Thank you for sharing the nice article.

Avatar_small
blackmart 说:
2017年10月14日 14:25

Thank you for bringing more information to this topic for me. I’m truly grateful and really impressed. Absolutely this article is incredible..

Avatar_small
Buy a 314 Area code 说:
2018年7月19日 15:18

Buy a 314 Area code Number in usa

Avatar_small
we mobile price in b 说:
2018年10月18日 17:51

I am waiting for your next help post

Avatar_small
mobile price in bd 说:
2018年10月18日 17:53

it's a very interesting web page I will back

Avatar_small
unique girl names 说:
2018年10月23日 15:24

Thanks for sharing these useful information!

Avatar_small
Assignment help 说:
2018年10月27日 17:58

Students Assignment Help provides the services of customer psychology assignment help to the students.All Assignment Help is an online Assignment Help and assignment writing service offering expert assignment help.Hire Australian,US assignment writing experts.

Avatar_small
rolling sky 说:
2018年12月26日 10:33

I have a similar issue. I will try your solution and see if it works

Avatar_small
mpcsonline 说:
2019年3月28日 13:47

<a href="http://mpcs.online/2019/03/11/metropcs-payment/"> <b> MetroPCS Payment Online & Offline | MetroPCS Bill Pay Terms & Conditions </b> </a> Thank you for sharing! I hope you will continue to have great articles like this to share with everyone! <a href="http://mpcs.online/"> <b> Mpcs Online </b> </a>

Avatar_small
mpcsonline 说:
2019年3月28日 13:48

I found this blog very informative and interesting. Will look forward to more such posts http://mpcs.online/

Avatar_small
fireboy and watergir 说:
2019年4月16日 09:57

I think this is an informative post and it is very useful and knowledgeable. I really enjoyed reading this post. big fan, thank you!

Avatar_small
remove password 说:
2019年5月13日 22:23

good

Avatar_small
pcsmetrobytmobile 说:
2019年7月16日 15:16

<a href="https://pcsmetrobytmobile.online/metropcs-by-t-mobile-payment/"> <b> Metrobyt mobile payment </b> </a> I found this blog very informative and interesting. Will look forward to more such posts <a href="https://pcsmetrobytmobile.online/metropcs-payment/"> <b> MetroPCS payment </b> </a>

Avatar_small
mpcsonline 说:
2019年8月14日 18:30

<a href="https://mpcs.online/2019/03/09/metropcs-bill-pay/"> <b> MetroPCS Bill Pay | How To Pay MetroPCS Bill Online & Offline
</b> </a> Your article is very useful. it's really helpful and informative <a href="https://mpcs.online/2019/03/11/metropcs-payment/"> <b> MetroPCS Payment Online & Offline | MetroPCS Bill Pay Terms & Conditions
</b> </a>

Avatar_small
pcsmetrobytmobile 说:
2019年8月14日 18:37

<a href=”https://pcsmetrobytmobile.online/metropcs-by-t-mobile-payment/”> <b> Metrobyt mobile payment
</b></a> Very interesting, good job and thanks for sharing such a good blog <a href=”https://pcsmetrobytmobile.online/metropcs-payment/”> <b> MetroPCS payment
</b></a>

Avatar_small
KOKO 说:
2019年8月21日 17:57

hello,
Your Site is very nice, and it's very helping us this post is unique and interesting, thank you for sharing this awesome information. and visit our blog site also
<a href="https://sattakingdarbar.com/">Satta King</a>

Avatar_small
KOKO 说:
2019年8月21日 17:58

hello,
Your Site is very nice, and it's very helping us this post is unique and interesting, thank you for sharing this awesome information. and visit our blog site also
<a href="https://sattakingdarbar.com/">Satta King</a>

https://sattakingdarbar.com/

Avatar_small
toto212 说:
2019年8月31日 16:55

Togel212 adalah Bandar Togel Online Terpercaya yang menyediakan berbagai macam permainan terbaik dan terlengkap seperti Togel SGP, Togel HKG, Togel Sydney dan Magnum4D. Togel212 juga merupakan Situs Judi Casino Online Terpercaya dengan berbagai games Live Casino favorit seperti baccarat, roulette, blackjack dan sebagainya dengan real time streaming yang cepat.

Avatar_small
mpcsonline 说:
2019年9月12日 14:30

<a href=”https://mpcs.online/2019/03/09/metropcs-bill-pay/”> <b> MetroPCS Bill Pay | How To Pay MetroPCS Bill Online & Offline
</b> </a> Thanks for sharing Wonderful tips!! All are informative <a href=”https://mpcs.online/2019/03/11/metropcs-payment/”> <b> MetroPCS Payment Online & Offline | MetroPCS Bill Pay Terms & Conditions
</b> </a>

Avatar_small
run 3 说:
2019年11月06日 14:53

When I am surfing the web occasionally I have discovered a website this really is particularly thought to invoke such as this one. I wanted to share that I found the content on your website has been highly interesting and I learned new things. I will be sure to look for your upcoming post. Many thanks for this fantastic write-up I will come again soon.

Avatar_small
rajaremi 说:
2019年11月13日 14:35

rajaremi Poker Dengan teknologi terkini, poker kami menawarkan permainan seru dan kemenangan besar dimana konsepnya adalah pemain lawan pemain. poker online Seperti game online di handphone, anda bisa bermain dimana saja, kapan saja bahkan hanya dengan satu tangan. Pelajari lebih lanjut atau download aplikasi Poker kami sekarang baik di Android ataupun di iOS, meja yang cepat dan privasi terjamin menanti anda.

Avatar_small
indonbet 说:
2019年11月18日 13:11

indonbet merupakan sarana informasi tentang berbagai situs judi online seperti poker online,dan promo bonus bonus menarik dari situs yang sudah terpercaya di dunia betting online.

Avatar_small
rajaremi 说:
2019年11月24日 16:19

Thankyou for yet another amazing article. The spot may simply anybody get that kind of advice such an perfect way of creating? I've got a demonstration every week, also I'm looking for this particular advice.I'm very satisfied to get visited your page and then anticipate so a lot more interesting times . Thank you for the information

Avatar_small
Rajaremi 说:
2019年11月25日 13:34

rajaremi Poker Dengan teknologi terkini, poker kami menawarkan permainan seru dan kemenangan besar dimana konsepnya adalah pemain lawan pemain. poker online Seperti game online di handphone, anda bisa bermain dimana saja, kapan saja bahkan hanya dengan satu tangan. Pelajari lebih lanjut atau download aplikasi Poker kami sekarang baik di Android ataupun di iOS, meja yang cepat dan privasi terjamin menanti anda.

Avatar_small
poker88 说:
2019年12月12日 21:11

erima kasih masukkan keystore

Avatar_small
pokerdewa 说:
2019年12月12日 21:13

https://88pokerindo.com/
https://88pokerindo.com/category/poker-online/
https://88pokerindo.com/category/domino-online/
https://88pokerindo.com/category/capsa-online/
https://88pokerindo.com/category/panduan-bermain-judi/
https://88pokerindo.com/poker-88-indonesia/
https://88pokerindo.com/indowin99/
https://88pokerindo.com/satriapoker/
https://88pokerindo.com/daunpoker/
https://88pokerindo.com/gadispoker/
https://88pokerindo.com/cara-mendaftar-inulpoker-dan-link-alternatif-inul-poker-terbaik/
https://88pokerindo.com/sentapoker/
https://88pokerindo.com/babepoker-kelebihan-dan-kekurangan-judi-online-uang-asli/
https://88pokerindo.com/pokerfren-situs-poker-online-dengan-banyak-bonus/
https://88pokerindo.com/panduan-untuk-melakukan-pendaftaran-iopoker/
https://88pokerindo.com/kelebihan-situs-poker-terbaik-sarangdomino/
https://88pokerindo.com/page/2/
https://88pokerindo.com/page/3/
https://88pokerindo.com/poker88/
https://88pokerindo.com/category/poker-online/page/2/
https://88pokerindo.com/dominobet/
https://88pokerindo.com/ratucapsa/
https://88pokerindo.com/cara-bermain-omaha-poker/
https://88pokerindo.com/panduan-aduq-yang-harus-dipahami-sebelum-menikmati-gamenya/
https://88pokerindo.com/cara-main-super10/
https://88pokerindo.com/panduan-capsa-susun/
https://88pokerindo.com/bermain-judi-poker-online/
https://88pokerindo.com/panduan-dominoqq/
https://88pokerindo.com/bandar-poker/
https://88pokerindo.com/panduan-bandar66-dan-cara-perhitungan-kartunya/
https://88pokerindo.com/panduan-bandar-sakong-terpercaya-resmi-2020/
https://88pokerindo.com/dewapoker/
https://88pokerindo.com/senangpoker/
https://88pokerindo.com/jayapoker/

Avatar_small
rajaremi 说:
2019年12月30日 07:45

rajaremi merupakan agen terbaik Indonesia sudah direkomendasikan bagi para bettor ingin menikmati kepuasan permainan secara online. Dengan servis terbaik & server siap melayani pecinta judi full time selama 24 jam penuh. Dengan tampilan Rajaremi sangat menarik perhatian bagi pengguna, Rajaremi siap melayani bettor dengan baik. Rajaremi Agen Poker Online Terpercaya yang memiliki keamanan yang sangat terjaga, serta anda memainkan games secara lengkap hanya dengan 1 ID saja. Game yang dapat di mainkan, diantaranya poker, domino, capsa, ceme, omaha , ceme keliling and super10. ke tujuh game di mainkan sangat mudah menang bermain di Rajaremi, karena player mainkan pada smartphone pintar anda. Dimanapun bettor berada, pastinya pemain bisa mengakses permainan ini secara online. Beragam permainan agen tawarkan sangatlah nyaman, karena kepuasan user adalah visi utama kami. Rajaremi sangat mengutamakan kepuasan setiap bettor atau user bermain pada agen bandarq terpercaya. Maka kritik & saran anda sangatlah penting bagi kami, untuk segala keluhan serta kiritik maupun saran pemain langsung di sampaikan melalui media social yang telah kami sediakan live chat resmi untuk anda

Avatar_small
Dr Norton 说:
2020年5月08日 15:44

<a href="https://zeemalcrack.com/">Zeemal Crack</a>
<a href="https://protoolscrack.net/">Protool Crack</a>
<a href="https://zeemalcrack.com/driver-genius-pro-crack/">Driver genius Crack</a>
<a href="https://zeemalcrack.com/virtual-dj-pro-crack/">DJ pro Crack</a>
<a href="http://zeemalcrack.com/mrt-dongle-crack/">MRT Dongle Crack</a>
<a href="https://protoolscrack.net/vmix-crack-registration-key/">vMix Crack</a>
<a href="https://protoolscrack.net/miracle-thunder-crack/">Miracle Thunder Crack</a>
<a href="http://zeemalcrack.com/manycam-pro-crack/>ManyCAm Crack</a>
<a href="https://protoolscrack.net/virtual-dj-pro-crack/">Virtual DJ Pro Crack</a>

Avatar_small
Dr Norton 说:
2020年5月08日 15:44

https://protoolscrack.net
http://zeemalcrack.com

https://protoolscrack.net/miracle-thunder-crack/
https://protoolscrack.net/autotune-pro-crack/
https://protoolscrack.net/pro-tools-crack-avid-pro-tools-crack/
https://protoolscrack.net/z3x-samsung-tool-pro-crack/
https://protoolscrack.net/virtual-dj-pro-crack/
http://zeemalcrack.com/miracle-thunder-crack/
http://zeemalcrack.com/mrt-dongle-crack/
http://zeemalcrack.com/sigmakey-box-crack/
http://zeemalcrack.com/panda-free-antivirus-crack/
http://zeemalcrack.com/vray-crack/
https://zeemalcrack.com/virtual-dj-pro-crack/

Avatar_small
jordan 说:
2020年11月02日 20:53

Thank you for sharing excellent blog.if you are want not happy with your relationship consult our expert astrologer and get tips or astrology prediction regarding your relationship or enhance love in your life.

<a href="https://www.astroswamig.com/"> Best Astrologer</a>
<a href="https://www.astroswamig.com/">Astrologer for free</a>
<a href="https://www.astroswamig.com/talk-to-astrologers/">Talk To Astrologer</a>
<a href="https://www.astroswamig.com/">Free astrology predictions by date of birth </a>
<a href="https://www.astroswamig.com/articles/">Free-Astrology-Predictions</a>
<a href="https://www.astroswamig.com/hindi/">Aaj ka Rashifal</a>
<a href="https://www.astroswamig.com/articles/">Online Astrology-Predictions</a>
<a href="https://www.astroswamig.com/">Online Astrology Consultation</a>
<a href="https://www.astroswamig.com/free-kundli">Free kundli online</a>

Avatar_small
jordan 说:
2020年12月14日 18:32

Thank you for sharing such a informative blog.if you are suffering many problems in your life.get solutions or tips and astrology predictions of your problems from best astrologers of India for free on call or chat.

Avatar_small
casino courchevel 说:
2021年1月21日 22:14

You will find on these online casinos a wide range of games of all kinds, provided you choose a reliable casino that allows you to have opportunities to collect winnings, what to combine the useful with the pleasant.

Avatar_small
webpage 说:
2021年3月26日 00:27

I think this is an informative post and it is very useful and knowledgeable. I really enjoyed reading this post. big fan, thank you!

Avatar_small
Find the best Alexa 说:
2021年3月28日 16:30

I think this is an informative post and it is very useful and knowledgeable. I really enjoyed reading this post. big fan, thank you!

Avatar_small
madhu 说:
2021年3月29日 18:35

Ahaan wha ti great information shared here

Avatar_small
Alexa Ranking 说:
2021年4月01日 21:48

An obligation of appreciation is all together for such an unprecedented post and the review, I am totally propelled! Keep stuff like this coming.

Avatar_small
lemon law lawyer 说:
2021年4月11日 18:01

This is a good post. This post gives truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. Thank you so much. Keep up the good works.

Avatar_small
rank your website 说:
2021年4月15日 12:34

This can be a excellent post, Many thanks with regard to providing me personally these details. Maintain publishing.

Avatar_small
안전놀이터 说:
2021年4月17日 00:03

These are some great tools that i definitely use for SEO work. This is a great list to use in the future..

Avatar_small
movies123 说:
2021年4月17日 18:29

You made some first rate points there. I appeared on the web for the difficulty and located most individuals will go along with together with your website.

Avatar_small
IDN Poker 说:
2021年4月17日 21:17

I am very much pleased with the contents you have mentioned. I wanted to thank you for this great article.

Avatar_small
situs slot 说:
2021年4月19日 20:24

Your article value browsing. I came across the application well crafted along with simply logical. I must i think appreciate plenty of time you spent to create the following. I’m sure very pleased plus watch for your following blog post

Avatar_small
free movie streaming 说:
2021年4月20日 17:16

A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one.

Avatar_small
หวยยี่กี 说:
2021年4月20日 21:34

Please continue this great work and I look forward to more of your awesome blog posts.

Avatar_small
หวยยี่กี 说:
2021年4月23日 00:07

Your work is very good and I appreciate you and hopping for some more informative posts. Thank you for sharing great information to us.

Avatar_small
ทางเข้าslotxo 说:
2021年4月23日 21:47

This is very useful, although it will be important to help simply click that web page link:

Avatar_small
nzeta 说:
2021年4月25日 02:28

The great game everI payed in my life come join this event with friend all over the world.

Avatar_small
รับทำ SEO เว็บพนัน 说:
2021年4月26日 23:08

I can’t imagine focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material. This is great content

Avatar_small
anime dao 说:
2021年4月27日 06:11

I have a similar issue. I will try your solution and see if it works

Avatar_small
PGSLOT AUTO 说:
2021年4月27日 20:15

This is helpful, nonetheless it can be crucial so that you can check out the following website

Avatar_small
Bolly4u guru 说:
2021年4月28日 20:34

I have read all the comments and suggestions posted by the visitors for this article are very fine,We will wait for your next article so only.Thanks!

Avatar_small
123 movies 说:
2021年4月29日 09:24

Your current blogs usually have got a lot of really up to date info. Where do you come up with this? Just saying you are very inspiring. Thanks again

Avatar_small
Trending Deals 说:
2021年4月29日 11:19

Thanks for another excellent post. Where else could anybody get that type of info in such an ideal way of writing? In my opinion, my seeking has ended now.

Avatar_small
Sean Navarro 说:
2021年4月30日 06:05

This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post!

Avatar_small
บาคาร่าออนไลน์ 说:
2021年4月30日 11:34

I have a similar issue. I will try your solution and see if it works

Avatar_small
먹튀검증업체 说:
2021年5月01日 12:11

Most of the time I don’t make comments on websites, but I'd like to say that this article really forced me to do so. Really nice post!

Avatar_small
punaises de lit pari 说:
2021年5月02日 10:37

Awesome and interesting article. Great things you've always shared with us. Thanks. Just continue composing this kind of post.

Avatar_small
먹튀검증 说:
2021年5月02日 14:06

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon. Big thanks for the useful info.

Avatar_small
jordan writes 说:
2021年5月23日 07:33

Wow I’m frustrated. I’m not pointing fingers at you though, really I think its everyone else that is responsible.

Avatar_small
freelancing marketin 说:
2021年5月23日 21:27

I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.

Avatar_small
Weight loss 说:
2021年5月24日 20:44

Hi there! Nice stuff, do keep me posted when you post again something like this!

Avatar_small
North American Banca 说:
2021年5月25日 21:41

Wow I’m frustrated. I’m not pointing fingers at you though, really I think its everyone else that is responsible.

Avatar_small
british shorthair 说:
2021年5月26日 11:52

Wonderful blog! I found it while surfing around on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it.

Avatar_small
North American Banca 说:
2021年5月26日 23:01

You are doing a great job, and up to date with technology of your site. Ill find it as an inspiration to my current project.

Avatar_small
Aplikasi Saham 说:
2021年5月27日 21:14

Thanks for sharing this beautiful post for the spring of watercolors. use in a different manners is really awesome.

Avatar_small
weed boxes 说:
2021年5月30日 06:40

hello!! Very interesting discussion glad that I came across such informative post. Keep up the good work friend. Glad to be part of your net community.

Avatar_small
thank you jewellery 说:
2021年5月30日 11:16

This article was composed by a genuine deduction author. I concur a hefty portion of the with the strong focuses made by the author.

Avatar_small
wholesale pistachios 说:
2021年5月31日 16:45

The best article I came across a number of years, write something about it on this page.

Avatar_small
best iso agent progr 说:
2021年6月02日 10:18

Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for.

Avatar_small
>zdobywanie like 说:
2021年6月02日 23:36

This is very interesting content! I have thoroughly enjoyed reading your points and have come to the conclusion that you are right about many of them. You are great.

Avatar_small
123movies 说:
2021年6月03日 21:09

I discovered your website website on yahoo and check several of your early posts. Keep the top notch operate.

Avatar_small
ghosted 说:
2021年6月04日 09:22

Cool stuff you have got and you keep update all of us.

Avatar_small
iso partnership 说:
2021年6月08日 07:03

Actually I read it yesterday but I had some thoughts about it and today I wanted to read it again because it is very well written.

Avatar_small
24gumi 说:
2021年6月09日 15:42

Транспортиране и съхранение на гуми Почти невъзможно е да се предвиди експлоатационния срок на гумите.
<a href="https://24gumi.bg/">нови гуми</a>

Avatar_small
merchant services is 说:
2021年6月11日 05:23

Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!.

Avatar_small
iso payment processo 说:
2021年6月11日 23:49

This was a really great contest and hopefully I can attend the next one. It was alot of fun and I really enjoyed myself..

Avatar_small
payment processing i 说:
2021年6月14日 09:41

Cool stuff you have got and you keep update all of us.

Avatar_small
credit card processi 说:
2021年6月16日 13:04

thanks for the tips and information..i really appreciate it.

Avatar_small
TopNeeds 说:
2021年6月22日 16:42

I am glad to be one of the visitors on this great site (:, appreciate it for posting.

Avatar_small
Bong88 说:
2021年6月26日 19:03

excited after reading your blog. Your blog is very much innovative and much helpful for any industry as well as for person

Avatar_small
viagra cialis 说:
2021年6月28日 00:37

I read this article. I think You put a lot of effort to create this article. I appreciate your work

Avatar_small
homes for sale in me 说:
2021年6月28日 17:20

http://yongqing.is-programmer.com/posts/85089.html

Avatar_small
gilbert realtors 说:
2021年6月29日 01:09

I really appreciate this wonderful post that you have provided for us. I assure this would be beneficial for most of the people.

Avatar_small
regenerative thermal 说:
2021年7月01日 01:27

This is really a nice and informative. containing all information and also has a great impact on the new technology. Thanks for sharing it.

Avatar_small
메리트카지노 说:
2021年7月02日 07:12

I am always looking for some free kinds of stuff over the internet. There are also some companies which give free samples. But after visiting your blog, I do not visit too many blogs. Thanks.

Avatar_small
메리트카지노 说:
2021年7月02日 07:34

I read a article under the same title some time ago, but this articles quality is much, much better. How you do this..

Avatar_small
슬롯머신게임 说:
2021年7月05日 23:44

Youre so cool! I dont suppose Ive read anything like this prior to. So nice to locate somebody with original thoughts on this subject. realy we appreciate you beginning this up. this amazing site is a thing that is required on the web, a person with a little originality. beneficial purpose of bringing interesting things to your internet!

Avatar_small
instanthack 说:
2021年7月08日 22:23

InstantHack is an online web tool which helps you to hack any Instagram account free of cost

Avatar_small
Cialis tablets 说:
2021年7月09日 08:39

I read this article. I think You put a great deal of exertion to make this article. I like your work.

Avatar_small
온라인홀덤 说:
2021年7月11日 01:09

Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include. v

Avatar_small
123movie 说:
2021年7月13日 02:01

A superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place

Avatar_small
visit website 说:
2021年7月15日 21:21

This is a very interesting web page and I have enjoyed reading many of the articles and posts contained on the website, keep up the good work and hope to read some more interesting content in the future.

Avatar_small
gwaa.net 说:
2021年7月16日 20:44

Thank you for helping people get the information they need. Great stuff as usual. Keep up the great work!!!

Avatar_small
subcene 说:
2021年7月20日 03:50

Thank you so much for the post you do. I like your post and all you share with us is up to date and quite informative, i would like to bookmark the page so i can come here again to read you, as you have done a wonderful job.

Avatar_small
สล็อตฟรีเครดิต 说:
2021年7月20日 19:50

I think this is an informative post and it is very useful and knowledgeable. I really enjoyed reading this post. big fan, thank you!

Avatar_small
fire safety 说:
2021年7月20日 23:20

Thanks for sharing this amazing website

Avatar_small
moviesflix 说:
2021年7月23日 06:19

I understand this column. I realize You put a many of struggle to found this story. I admire your process

Avatar_small
Akku Luftpumpe 说:
2021年7月24日 06:46

Wow, cool post. I’d like to write like this too – taking time and real hard work to make a great article… but I put things off too much and never seem to get started. Thanks though.

Avatar_small
fat burners 说:
2021年7月26日 01:09

Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work

Avatar_small
ambcrypto epaper 说:
2021年7月26日 06:33

Hello! I just wish to give an enormous thumbs up for the nice info you've got right here on this post. I will probably be coming back to your weblog for more soon!

Avatar_small
how long does it tak 说:
2021年7月26日 22:06

I really appreciate this wonderful post that you have provided for us. I assure this would be beneficial for most of the people

Avatar_small
penload 说:
2021年7月27日 07:53

I really appreciate this wonderful post that you have provided for us. I assure this would be beneficial for most of the people.

Avatar_small
visa de canadá 说:
2021年7月28日 08:46

This is important, though it's necessary to help you head over to it weblink

Avatar_small
nextbet 说:
2021年7月29日 05:39

Hey very nice blog!! Man .. Excellent .. Amazing .. I will bookmark your website and take the feeds also…I am happy to find a lot of useful info here in the post

Avatar_small
Travel Tourism 说:
2021年7月31日 10:46

You have done a great job on this article. It’s very readable and highly intelligent. You have even managed to make it understandable and easy to read. You have some real writing talent. Thank you.

Avatar_small
www.cacamart.com 说:
2021年7月31日 21:56

You may remark on the request arrangement of the blog. You should visit it's unbelievable. Your blog review would swell up your guests. I was extremely satisfied to discover this site.I needed to thank you for this incredible read!!

Avatar_small
amazon sale of phenq 说:
2021年8月01日 04:52

very interesting post.this is my first time visit here.i found so mmany interesting stuff in your blog especially its discussion..thanks for the post!

Avatar_small
hotmail.com ́ login 说:
2021年8月02日 09:00

Awesome dispatch! I am indeed getting apt to over this info, is truly neighborly my buddy. Likewise fantastic blog here among many of the costly info you acquire. Reserve up the beneficial process you are doing here.

Avatar_small
Uwatchfree 说:
2021年8月02日 12:50

The article looks magnificent, but it would be beneficial if you can share more about the suchlike subjects in the future. Keep posting.

Avatar_small
canada eta 说:
2021年8月03日 11:41

Your good knowledge and kindness in playing with all the pieces was very useful. I don’t know what I would have done if I had not encountered such a step like this

Avatar_small
relx煙彈 说:
2021年8月04日 10:59

Thanks for writing such a good article, I stumbled onto your blog and read a few post. I like your style of writing...

Avatar_small
free 3d 说:
2021年8月06日 14:07

Keep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information.

Avatar_small
виза за Канада 说:
2021年8月06日 19:05

you have done a great job. I will definitely dig it and personally recommend to my friends. I am confident they will be benefited from this site.

Avatar_small
виза за Канада 说:
2021年8月06日 19:05

you have done a great job. I will definitely dig it and personally recommend to my friends. I am confident they will be benefited from this site.

Avatar_small
pawn phoenix 说:
2021年8月07日 20:21

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..

Avatar_small
find out 说:
2021年8月09日 17:58

Really your post is really very good and I appreciate it. It’s hard to sort the good from the bad sometimes.You definitely put a new spin on a topic thats been written about for years

Avatar_small
tamilmv 说:
2021年8月10日 13:15

you have done a great job. I will definitely dig it and personally recommend to my friends. I am confident they will be benefited from this site.

Avatar_small
instant views 说:
2021年8月10日 21:39

Beaver says I also have such interest, you can read my profile here

Avatar_small
instagram takipçi sa 说:
2021年8月11日 01:10

I think this is one of the most significant information for me. And i’m glad reading your article. But should remark on some general things, The web site style is perfect, the articles is really great : D. Good job, cheers

Avatar_small
Visto Indiano 说:
2021年8月11日 18:12

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..

Avatar_small
visa india dalam tal 说:
2021年8月15日 17:30

Beaver says I also have such interest, you can read my profile here

Avatar_small
ETA New Zealand 说:
2021年8月16日 23:55

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..

Avatar_small
blackjack 说:
2021年8月19日 05:35

When I am surfing the web occasionally I have discovered a website this really is particularly thought to invoke such as this one. I wanted to share that I found the content on your website has been highly interesting and I learned new things. I will be sure to look for your upcoming post. Many thanks for this fantastic write-up I will come again soon.

Avatar_small
viza canada din roma 说:
2021年8月24日 10:20

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..

Avatar_small
ติดตั้งกล้องวงจรปิด 说:
2021年8月25日 13:31

Useful information. Lucky me I found your web site accidentally,
and I'm shocked why this coincidence didn't came about in advance!
I bookmarked it.

Avatar_small
Visto Indiano 说:
2021年8月26日 03:49

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..

Avatar_small
188bet 说:
2021年8月26日 08:17

Thanks for sharing this quality information with us. I really enjoyed reading. Will surely going to share this URL with my friends.

Avatar_small
cais fisa india 说:
2021年8月28日 01:56

When I am surfing the web occasionally I have discovered a website this really is particularly thought to invoke such as this one. I wanted to share that I found the content on your website has been highly interesting and I learned new things. I will be sure to look for your upcoming post. Many thanks for this fantastic write-up I will come again soon.

Avatar_small
خصم 说:
2021年8月28日 17:56

Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have.

Avatar_small
kanadski vizum na sp 说:
2021年8月29日 05:16

Thanks for sharing this quality information with us. I really enjoyed reading. Will surely going to share this URL with my friends.

Avatar_small
soaptoday 说:
2021年8月30日 21:26

Great post I would like to thank you for the efforts you have made in writing this interesting and knowledgeable article.

Avatar_small
soap2day movies 说:
2021年8月31日 18:37

When I am surfing the web occasionally I have discovered a website this really is particularly thought to invoke such as this one. I wanted to share that I found the content on your website has been highly interesting and I learned new things. I will be sure to look for your upcoming post. Many thanks for this fantastic write-up I will come again soon.

Avatar_small
merchant sales rep 说:
2021年8月31日 23:28

This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good work

Avatar_small
link 说:
2021年9月01日 22:15

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me.

Avatar_small
ท่อHDPE 说:
2021年9月15日 22:11

The information you have posted is very useful. The sites you have referred was good. Thanks for sharing.

Avatar_small
Bruno Nicoletti 说:
2021年9月18日 21:16

I am often to blogging and i really appreciate your content. The article has really peaks my interest. I am going to bookmark your site and keep checking for new information

Avatar_small
elizabeth rabbit 说:
2021年9月19日 09:12

The information you have posted is very useful. The sites you have referred was good. Thanks for sharing.

Avatar_small
Bruno Nicoletti 说:
2021年9月21日 21:40

It was wondering if I could use this write-up on my other website, I will link it back to your website though.Great Thanks.

Avatar_small
uae visa services 说:
2021年9月22日 01:21

Thanks, that was a really cool read!

Avatar_small
FB88 说:
2021年9月24日 12:28

Thanks for sharing these useful information!

Avatar_small
merchant sales rep 说:
2021年9月25日 06:44

Interesting blog I must say, the facts and information written here are accurate.

Avatar_small
slot 说:
2021年9月25日 21:45

Actually I read it yesterday but I had some thoughts about it and today I wanted to read it again because it is very well written.

Avatar_small
afdah 说:
2021年9月28日 00:56

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place.

Avatar_small
tshirts for nerds 说:
2021年9月28日 11:04

Hey what a brilliant post I have come across and believe me I have been searching out for this similar kind of post for past a week and hardly came across this. Thank you very much and will look for more postings from you.

Avatar_small
Stage Curaçao 说:
2021年9月29日 09:46

Im no expert, but I believe you just made an excellent point. You certainly fully understand what youre speaking about, and I can truly get behind that.

Avatar_small
Stage op Curaçao 说:
2021年10月01日 05:20

I think this is an informative post and it is very beneficial and knowledgeable. Therefore, I would like to thank you for the endeavors that you have made in writing this article. All the content is absolutely well-researched. Thanks...

Avatar_small
here 说:
2021年10月02日 01:08

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading

Avatar_small
white label merchant 说:
2021年10月03日 11:43

This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.

Avatar_small
filler 说:
2021年10月04日 08:15

I am impressed. I don't think Ive met anyone who knows as much about this subject as you do. You are truly well informed and very intelligent. You wrote something that people could understand and made the subject intriguing for everyone. Really, great blog you have got here.

Avatar_small
Bruno Nicoletti 说:
2021年10月05日 19:39

Keep up the wonderful piece of work, I read few content on this web site and I believe that your web blog is real interesting and has got circles of great info

Avatar_small
guest post, guestpo 说:
2021年10月07日 21:13

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog..

Avatar_small
Buy Naughty One Stra 说:
2021年10月11日 21:51

wow very nice <a href="https://somkingundispensary.com/">Buy Naughty One Strain Online</a>

Avatar_small
san francisco seo se 说:
2021年10月26日 19:30

This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post

Avatar_small
دانلود فیلم سریال 说:
2021年10月27日 01:04

This article was written by a real thinking writer. I agree many of the with the solid points made by the writer. I’ll be back.

Avatar_small
วิธีเล่นสล็อต 说:
2021年10月27日 03:04

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.<a href="https://biogaming168.net/%E0%B9%80%E0%B8%97%E0%B8%84%E0%B8%99%E0%B8%B4%E0%B8%84-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%A5%E0%B9%88%E0%B8%99%E0%B8%AA%E0%B8%A5%E0%B9%87%E0%B8%AD%E0%B8%95/">วิธีเล่นสล็อต</a>

Avatar_small
fire safety training 说:
2021年10月27日 18:14

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here

Avatar_small
Best Social Plan 说:
2021年10月31日 08:48

Thank you for sharing a bunch of this quality contents, I have bookmarked your blog. Please also explore advice from my site. I will be back for more quality contents.

Avatar_small
seoprovider 说:
2021年11月10日 19:30

thanks for the tips and information..i really appreciate it..

Avatar_small
finance 说:
2021年11月10日 20:36

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.

Avatar_small
JUNK PICK UP HOUSTON 说:
2021年11月12日 18:29

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene. <a href=""></a>

Avatar_small
auto 说:
2021年11月13日 21:39

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that.

Avatar_small
fit 说:
2021年11月18日 23:06

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that.

Avatar_small
weedviral 说:
2021年12月22日 18:58

Looking for answers to your CBD questions? Weed Viral is here to help you get the accurate, evidence-based information you need.

Avatar_small
รีวิวเว็บufabet 说:
2022年1月22日 20:55

I found this blog very informative and interesting. Will look forward to more such posts

Avatar_small
Premier Parfum 说:
2022年1月23日 01:54

I have a similar issue. I will try your solution and see if it works

Avatar_small
Canada Visitor Visa 说:
2022年1月30日 06:39

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that.

Avatar_small
anti dandruff shampo 说:
2022年2月01日 20:09

Wisdom Pharma offers you all the best selfcare products in one convenient place, such as their anti dandruff shampoo</a>. So, buy from Wisdom Pharma and get high quality dandruff shampoos online. Wisdom Pharma brings the best dandruff shampoo in Pakistan. Prevent dandruff today.

Avatar_small
pigmentation creams 说:
2022年2月02日 19:56

Wisdom Pharma offers you all the best selfcare products in one convenient place, such as their pigmentation creams. So, buy from Wisdom Pharma and get high quality Pigmentation Creams online. Wisdom Pharma brings the best creams for Pigmentation in Pakistan.

Avatar_small
INDIA VISA ONLINE 说:
2022年2月04日 08:56

I found this blog very informative and interesting. Will look forward to more such posts

Avatar_small
Driveway Paving 说:
2022年2月17日 19:55

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place.

Avatar_small
pakistani clothes on 说:
2022年2月22日 03:02

When the temperature lowers and the wind picks up, you crave something cozy to keep you warm and safe. If you need to go out for a fun evening with your best friends, a day with relatives, or a formal lunch with professional colleagues under such conditions, you hunt for fashionable garments that will keep you warm. With the best winter suits for women, we've got you covered.
This extensive choice of winter textiles are produced with the finest of detailing, charming patterns, and trendy colours to provide you with the appropriate seasonal hues. They have the best for everyone, from embroidered to unstitched, solid colours to bright designs.
So, let's embark on a quest to find the best dresses for girls to slay the winter days!
<a href="https://soffio.pk/">pakistani clothes online</a>

Avatar_small
ssali 说:
2022年5月22日 19:04

Awesome article. i am going to bookmark it, if you are looking for lyca beltegoed, lebara beltegoed, lyca bundel xs, samsung a52, samsung a51, samsung a72, iphone 13 pro max in Netherlands, get in touch with us.

Avatar_small
MBSE Plus One Previo 说:
2022年8月16日 21:40

This board operates under the direction of the Mizorami government, and it also oversees and manages the educational institutions to which it is associated. The Mizoram 11th Important Question Paper 2023 for the class 11th examinations will be made available via their official website. The Mizoram 11th Model Question Paper was released by this board ahead of time, and the exams for the 11th grade began on February 25 and finished on March 11. MBSE Plus One Previous Paper 2023 The Mizoram 11th Important Question Paper 2023 of this examination, which will be shortly announced by this board through its official website, is now being awaited by all students who took the tests.

Avatar_small
Seo Link 说:
2022年9月30日 07:15

Excellent blog right here! Also your site a lot up very fast! What web host are you the use of? Can I am getting your associate link to your host? I want my site loaded up as quickly as yours lol sceneca residences

Avatar_small
Garage Door Services 说:
2022年11月01日 01:35

Want To Approach An Affordable Garage Door Service In Arkansas? Feel Free To Contact Us for Emergency Garage Door Repair. As We Provide You With Professional Cheap Garage Door Service In Arkansas. In This Matter. Whether Your Door Is Misaligned, Broken, Or Their Springs Or Cables Are Not Doing Well, We Can Fix And Do A Garage Door Tune-up For You. Following Are The Matchless Services We Are Providing To Our Satisfied Clients. Garage Door Replacement ArkansasAffordable Garage Door Repair In Arkansas.

Avatar_small
Chennai Escorts 说:
2022年11月23日 01:33

The best and best groups start with a tad of tomfoolery, figuring out how to <a href="https://www.chennaiescort.me/">Chennai Escorts Service</a> esteem what every part brings into the gathering.

Avatar_small
Akriti 说:
2023年4月08日 14:28

All you have to do is tell us what you want and we will get it. All you have to do is give us your requirements, and we will take care of Escorts Service in Electronic City

Avatar_small
terapia de pareja 说:
2023年6月25日 22:47

En el ámbito de la terapia psicológica de pareja, así como en el tratamiento individual, también existe la opción de solicitar una terapia de manera online, modalidad que presenta ciertas ventajas que deben ser tenidas en cuenta. Algunas de estas son la mayor flexibilidad de horarios y comodidad, mayor seguridad y anonimato en el paciente a quien le cueste desplazarse hacia una consulta psicológica y casi siempre, un coste de terapia más económico.

Avatar_small
civaget 说:
2023年12月03日 05:20

백링크 is the gateway to organic traffic. When reputable websites endorse your content, not only do you gain valuable visitors, but you also gain credibility with search engines.

Avatar_small
civaget 说:
2023年12月08日 17:05

오피아트 is the ultimate destination for those seeking artistic inspiration and cultural exploration.

Avatar_small
civaget 说:
2023年12月11日 22:22

제주안마's use of local herbs is fantastic. It adds a natural element to the massage. A true Jeju Island treasure.

Avatar_small
civaget 说:
2023年12月11日 22:35

부산오피 is a nightlife gem in Busan. The multitude of choices ensures every night out is unique and memorable.

Avatar_small
civaget 说:
2023年12月13日 22:53

Stress reduction with 대전출장마사지 is unparalleled.

Avatar_small
civaget 说:
2023年12月14日 14:29

Experience soccer like never before on 축구중계. A world of matches awaits.

Avatar_small
civaget 说:
2023年12月15日 00:23

Youre so cool! I dont suppose Ive read anything like this before. So nice to find somebody with a few original applying for grants this subject. realy appreciation for starting this up. this excellent website are some things that is required on the internet, an individual with a bit of originality. valuable project for bringing something totally new to your net! 축구중계

Avatar_small
civaget 说:
2023年12月16日 17:44

출장마사지 by Oga is a game-changer. Their tailored massages relieve stress like no other.

Avatar_small
civaget 说:
2023年12月18日 13:16

Its such as you read my mind! You appear to understand a lot about this, like you wrote the e-book in it or something. I believe that you simply could do with a few % to force the message house a bit, however other than that, this is wonderful blog. A great read. I'll certainly be back. 카지노사이트

Avatar_small
civaget 说:
2023年12月19日 21:57

Let 오피뷰 be your compass to navigate the world of relaxation.

Avatar_small
civaget 说:
2023年12月20日 20:21

Stay updated with op사이트 순위's accurate rankings.

Avatar_small
civaget 说:
2023年12月22日 00:45

I can't imagine my work without 오피뷰's user-friendly interface.

Avatar_small
civaget 说:
2023年12月30日 20:42

오피가이드 has become an essential tool in my wellness journey.

Avatar_small
civaget 说:
2023年12月31日 23:07

OPGuide's 오피정보 saved me time and effort. I found exactly what I was looking for.

Avatar_small
civaget 说:
2024年1月06日 22:37

오피스타 is the ultimate solution for locating massage parlors nearby. It's a game-changer.

Avatar_small
seo service london 说:
2024年1月13日 20:26

excursions when you wear Best Mens Casual Shoes

Avatar_small
civaget 说:
2024年1月14日 18:07

Quality, convenience, and cost savings – 누누티비 다시보기 has it all.

Avatar_small
SEO 说:
2024年1月23日 16:31

I went over this website and I think you have a lot of excellent information, saved to fav (:. The Presidential Family

Avatar_small
SEO 说:
2024年2月01日 13:11

The electronic cigarette uses a battery and a small heating factor the vaporize the e-liquid. This vapor can then be inhaled and exhaled lpb piso wifi 10.0.0.1 pause time login

Avatar_small
how to change iPhone 说:
2024年2月01日 18:42

Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming. Thanks again and good luck!

Avatar_small
drKimberly fungus tr 说:
2024年2月03日 13:47

Thank you for such a well written article. It’s full of insightful information and entertaining descriptions. Your point of view is the best among many.

Avatar_small
SEO 说:
2024年2月04日 15:05

Hello, i think that i saw you visited my site thus i came to “return the favor”.I am trying to find things to enhance my web site!I suppose its ok to use some of your ideas!! Büyükçekmece Escort

Avatar_small
white garmin watch 说:
2024年2月05日 15:19

You made some first rate factors there. I seemed on the internet for the difficulty and located most people will go along with together with your website.

Avatar_small
How to Turn Off Low 说:
2024年2月07日 19:56

Good post. I learn something tougher on different blogs everyday. It'll at all times be stimulating to learn content from other writers and observe somewhat one thing from their store. I’d choose to use some with the content on my blog whether or not you don’t mind. Natually I’ll offer you a link in your internet blog. Thanks for sharing.

Avatar_small
seo 说:
2024年2月11日 12:29

When a blind man bears the standard pity those who follow…. Where ignorance is bliss ‘tis folly to be wise…. 수원셔츠룸

Avatar_small
seo 说:
2024年2月12日 17:16

so much wonderful information on here, : D. Blox Fruits codes

Avatar_small
seo 说:
2024年2月12日 18:34

Wow! This could be one particular of the most helpful blogs We’ve ever arrive across on this subject. Basically Magnificent. I am also an expert in this topic so I can understand your effort. What is the price of aluminum strip


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee