[Pki-devel] IMPORTANT: Relocation of fedorahosted.org source code repositories to github . . .

2017-02-16 Thread Matthew Harmsen
This is to notify everyone that the following source code repositories 
located onhttps://fedorahosted.org/web/  
have been relocated:


 * *nuxwdog*
 o OLD LOCATION (fedorahosted SVN repo):
 + svn co http://svn.fedorahosted.org/svn/nuxwdog
 o NEW LOCATION (GITHUB GIT repo):
 + *gitclonegit**@github**.**com:dogtagpki**/**nuxwdog**.**git*
 + 
*gitclonehttps:**//gi**thub**.**com**/dogtagpki/**nuxwdog**.**git*

 * *pki (legacy versions)*
 o OLD LOCATION (fedorahosted SVN repo):
 + svn co http://svn.fedorahosted.org/svn/pki
 o NEW LOCATION (GITHUB GIT repo):
 + 
*gitclonegit**@github**.**com:dogtagpki**/**legacy-pki.git*
 + 
*gitclonehttps:**//gi**thub**.**com**/dogtagpki/**legacy-pki**.**git*

 * *pki*
 o OLD LOCATION (fedorahosted GIT repo):
 + git clone git://git.fedorahosted.org/git/pki.git
 o NEW LOCATION (GITHUB GIT repo):
 + *gitclonegit**@github**.**com:dogtagpki**/**pki.git*
 + 
*gitclonehttps:**//gi**thub**.**com**/dogtagpki/**pki**.**git*

 * *tomcatjss*
 o OLD LOCATION (fedorahosted SVN repo):
 + svn co http://svn.fedorahosted.org/svn/tomcatjss
 o NEW LOCATION (GITHUB GIT repo):
 + *git clone g...@github.com:dogtagpki/tomcatjss.git*
 + *git clone https://github.com/dogtagpki/tomcatjss.git*

*
*

*WARNING:  THE SOURCE CODE AT THE OLD LOCATIONS IS SUBJECT TO VANISH AND 
WILL NO LONGER BE MAINTAINED!*



IMPORTANT:  For all local PKI GIT repositories that were previously 
checked out from fedorahosted.org, please follow these instuctions 
(published on http://pki.fedoraproject.org/wiki/PKI_Developers):


   To check the current GIT repository:

   *$ git config remote.origin.url
   ssh://usern...@git.fedorahosted.org/git/pki.git *

   **

   To change the GIT repository:

   *$ git config remote.origin.url
   g...@github.com:dogtagpki/pki.git*

   For all other local SVN repositories (nuxwdog, pki (legacy
   versions), or tomcatjss) that were checked out from
   fedorahosted.org, please identify any local changes,
   checkout a fresh repository from GITHUB, and manually apply
   the local changes (patches) from your old local repository
   to your newly checked out local repository.

Thanks,
-- Matt

___
Pki-devel mailing list
Pki-devel@redhat.com
https://www.redhat.com/mailman/listinfo/pki-devel

[Pki-devel] [PATCH] 941 Updated RPM spec to include Java examples.

2017-02-16 Thread Endi Sukma Dewata

The pki-core.spec has been modified to include Java examples in
pki-base-java package.

https://fedorahosted.org/pki/ticket/2584

Pushed to master under trivial rule.

--
Endi S. Dewata
>From a6c1143740e6f1326b180c8e922639e2e742a484 Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" 
Date: Thu, 16 Feb 2017 22:44:56 +0100
Subject: [PATCH] Updated RPM spec to include Java examples.

The pki-core.spec has been modified to include Java examples in
pki-base-java package.

https://fedorahosted.org/pki/ticket/2584
---
 specs/pki-core.spec | 1 +
 1 file changed, 1 insertion(+)

diff --git a/specs/pki-core.spec b/specs/pki-core.spec
index 1f136b1afd885bad184aa05efe5693525e079f74..39911af41c61ea4c89c6a667b2597ef38cd25450 100644
--- a/specs/pki-core.spec
+++ b/specs/pki-core.spec
@@ -1141,6 +1141,7 @@ systemctl daemon-reload
 
 %if 0%{?package_fedora_packages} || 0%{?package_rhel_packages}
 %files -n pki-base-java
+%{_datadir}/pki/examples/java/
 %{_datadir}/pki/lib/
 %dir %{_javadir}/pki
 %{_javadir}/pki/pki-cmsutil.jar
-- 
2.5.5

___
Pki-devel mailing list
Pki-devel@redhat.com
https://www.redhat.com/mailman/listinfo/pki-devel

[Pki-devel] [PATCH] 940 Added CACertClientExample.

2017-02-16 Thread Endi Sukma Dewata

A sample program has been added to show how to use CertClient.

https://fedorahosted.org/pki/ticket/2584

Pushed to master under trivial rule.

--
Endi S. Dewata
>From 80d1b75ba073aa8486a310b11bc972c1e9afb662 Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" 
Date: Thu, 16 Feb 2017 22:43:43 +0100
Subject: [PATCH] Added CACertClientExample.

A sample program has been added to show how to use CertClient.

https://fedorahosted.org/pki/ticket/2584
---
 base/common/examples/java/CACertClientExample.java | 76 ++
 1 file changed, 76 insertions(+)
 create mode 100644 base/common/examples/java/CACertClientExample.java

diff --git a/base/common/examples/java/CACertClientExample.java b/base/common/examples/java/CACertClientExample.java
new file mode 100644
index ..1b5eb663439167e87bc8f6b5d7c0ff83bbb651fd
--- /dev/null
+++ b/base/common/examples/java/CACertClientExample.java
@@ -0,0 +1,76 @@
+// --- BEGIN COPYRIGHT BLOCK ---
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// (C) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+
+import java.net.InetAddress;
+
+import com.netscape.certsrv.ca.CAClient;
+import com.netscape.certsrv.cert.CertClient;
+import com.netscape.certsrv.cert.CertData;
+import com.netscape.certsrv.cert.CertDataInfo;
+import com.netscape.certsrv.cert.CertDataInfos;
+import com.netscape.certsrv.cert.CertSearchRequest;
+import com.netscape.certsrv.client.ClientConfig;
+import com.netscape.certsrv.client.PKIClient;
+import com.netscape.certsrv.dbs.certdb.CertId;
+
+/**
+ * To compile the program:
+ * $ javac -cp "../../lib/*" CACertClientExample.java
+ *
+ * To run the program:
+ * $ java -cp "../../lib/*:." CACertClientExample
+ */
+public class CACertClientExample {
+
+public static void main(String args[]) throws Exception {
+
+String protocol = "http";
+String hostname = InetAddress.getLocalHost().getHostName();
+int port = 8080;
+
+ClientConfig config = new ClientConfig();
+config.setServerURL(protocol, hostname, port);
+
+PKIClient client = new PKIClient(config);
+CAClient caClient = new CAClient(client);
+CertClient certClient = new CertClient(caClient);
+
+CertDataInfos infos = certClient.listCerts(null, null, null, null, null);
+
+System.out.println("Total: " + infos.getTotal());
+System.out.println();
+System.out.println("Certificates:");
+
+for (CertDataInfo info : infos.getEntries()) {
+System.out.println("- Serial: " + info.getID());
+System.out.println("  Subject: " + info.getSubjectDN());
+}
+
+System.out.println();
+System.out.println("CA Certificate:");
+
+CertSearchRequest request = new CertSearchRequest();
+request.setCommonName("commonName");
+
+infos = certClient.findCerts(request, null, null);
+CertId id = infos.getEntries().iterator().next().getID();
+
+CertData data = certClient.getCert(id);
+System.out.println(data.getEncoded());
+}
+}
-- 
2.5.5

___
Pki-devel mailing list
Pki-devel@redhat.com
https://www.redhat.com/mailman/listinfo/pki-devel

[Pki-devel] [PATCH] 939 Added CAClientExample.

2017-02-16 Thread Endi Sukma Dewata

A sample program has been added to show how to use CAClient.

https://fedorahosted.org/pki/ticket/2584

Pushed to master under trivial rule.

--
Endi S. Dewata
>From 3f58c06aa938f007688fd4992508fff4076e6406 Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" 
Date: Thu, 16 Feb 2017 06:09:15 +0100
Subject: [PATCH] Added CAClientExample.

A sample program has been added to show how to use CAClient.

https://fedorahosted.org/pki/ticket/2584
---
 .classpath |  1 +
 base/common/CMakeLists.txt |  1 +
 base/common/examples/CMakeLists.txt| 20 ++
 base/common/examples/java/CAClientExample.java | 86 ++
 4 files changed, 108 insertions(+)
 create mode 100644 base/common/examples/CMakeLists.txt
 create mode 100644 base/common/examples/java/CAClientExample.java

diff --git a/.classpath b/.classpath
index 8c4d2b8d979eadc3da56ccaa21453bc62f04b104..f40bcaa2472aade6d73912894bd6665f16aa8d4e 100644
--- a/.classpath
+++ b/.classpath
@@ -20,6 +20,7 @@
 	
 	
 	
+	
 	
 	
 	
diff --git a/base/common/CMakeLists.txt b/base/common/CMakeLists.txt
index f1e236de73c1b7f1db1e8f61b5cb02d4b1cd1b8f..d7856e1aab55a81c92ace5cf3f4e69d88f07da18 100644
--- a/base/common/CMakeLists.txt
+++ b/base/common/CMakeLists.txt
@@ -145,4 +145,5 @@ install(
 )
 
 add_subdirectory(src)
+add_subdirectory(examples)
 add_subdirectory(python)
diff --git a/base/common/examples/CMakeLists.txt b/base/common/examples/CMakeLists.txt
new file mode 100644
index ..c3802f66e401e0725d79aff3c39979e1380382b8
--- /dev/null
+++ b/base/common/examples/CMakeLists.txt
@@ -0,0 +1,20 @@
+project(examples)
+
+javac(pki-examples-classes
+SOURCES
+java/*.java
+CLASSPATH
+${JSS_JAR}
+${PKI_NSUTIL_JAR} ${PKI_CMSUTIL_JAR} ${PKI_CERTSRV_JAR}
+OUTPUT_DIR
+${CMAKE_CURRENT_BINARY_DIR}/classes
+DEPENDS
+pki-nsutil-jar pki-cmsutil-jar pki-certsrv-jar
+)
+
+install(
+DIRECTORY
+java
+DESTINATION
+${DATA_INSTALL_DIR}/examples
+)
diff --git a/base/common/examples/java/CAClientExample.java b/base/common/examples/java/CAClientExample.java
new file mode 100644
index ..38d11637da752a68e295eedcec6f51d51bce40c8
--- /dev/null
+++ b/base/common/examples/java/CAClientExample.java
@@ -0,0 +1,86 @@
+// --- BEGIN COPYRIGHT BLOCK ---
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// (C) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+
+import java.io.File;
+import java.net.InetAddress;
+
+import org.mozilla.jss.CryptoManager;
+import org.mozilla.jss.crypto.CryptoToken;
+import org.mozilla.jss.util.Password;
+
+import com.netscape.certsrv.account.AccountInfo;
+import com.netscape.certsrv.ca.CAClient;
+import com.netscape.certsrv.client.ClientConfig;
+import com.netscape.certsrv.client.PKIClient;
+
+/**
+ * First, create an NSS database:
+ * $ pki -c Secret.123 client-init
+ *
+ * Then import CA admin certificate and key from PKCS #12 file:
+ * $ pki -c Secret.123 client-cert-import --pkcs12 file --pkcs12-password password
+ *
+ * To compile the program:
+ * $ javac -cp "/usr/lib/java/jss4.jar:../../lib/*" CAClientExample.java
+ *
+ * To run the program:
+ * $ java -cp "../../lib/*:." CAClientExample
+ */
+public class CAClientExample {
+
+public static void main(String args[]) throws Exception {
+
+String home = System.getProperty("user.home");
+
+String nssDatabasePath = home + File.separator + ".dogtag" + File.separator + "nssdb";
+String nssDatabasePassword = "Secret.123";
+
+String protocol = "https";
+String hostname = InetAddress.getLocalHost().getHostName();
+int port = 8443;
+
+String nickname = "caadmin";
+
+CryptoManager.initialize(nssDatabasePath);
+
+CryptoManager manager = CryptoManager.getInstance();
+CryptoToken token = manager.getInternalKeyStorageToken();
+Password password = new Password(nssDatabasePassword.toCharArray());
+token.login(password);
+
+ClientConfig config = new ClientConfig();
+config.setServerURL(protocol, hostname, port);
+config.setCertNickname(nickname);
+
+PKIClient client = new PKIClient(config);
+CAClient