@@ -0,0 +1,2063 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one%0A * or more contributor license agreements. See the NOTICE file%0A * distributed with this work for additional information%0A * regarding copyright ownership. The ASF licenses this file%0A * to you under the Apache License, Version 2.0 (the%0A * %22License%22); you may not use this file except in compliance%0A * with the License. You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied. See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.misers.certutil;%0A%0Aimport java.io.File;%0Aimport java.net.URISyntaxException;%0Aimport java.util.LinkedList;%0Aimport java.util.List;%0A%0A/**%0A * %0A * @author covener%0A */%0Apublic class CertUtil %7B%0A%0A    public CertUtil() %7B%0A        %0A    %7D%0A    %0A    private static void usage() throws URISyntaxException %7B %0A        File myjar =  new File(CertUtil.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());%0A        System.err.println(%22java -jar %22 + myjar + %22 RetrieveSigner %7C GetPIN%22);%0A        System.exit(1);%0A    %7D%0A    %0A    private static String%5B%5D shift(String%5B%5D args) %7B %0A        List%3CString%3E argList = new LinkedList%3CString%3E();%0A        for (int i = 1; i %3C args.length; i++) %7B %0A            argList.add(args%5Bi%5D);%0A        %7D%0A        return argList.toArray(new String%5Bargs.length - 1%5D);    %0A     %7D%0A    %0A    public static void main(String%5B%5D args) throws Exception %7B %0A        if (args.length == 0) usage();%0A        String op = args%5B0%5D;%0A        String%5B%5D supplicantArgs = shift(args);%0A        %0A        if (op.equals(%22RetrieveSigner%22)) %7B %0A            RetrieveSigner.main(supplicantArgs);%0A        %7D%0A        else if(op.equals(%22GetPIN%22)) %7B %0A            GetHPKPFingerprint.main(supplicantArgs);%0A        %7D%0A        else %7B %0A            usage();%0A        %7D%0A    %7D%0A%7D%0A

add missing Main