1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_security_XCertificate_idl_ 29#define __com_sun_star_security_XCertificate_idl_ 30 31#include <com/sun/star/uno/XInterface.idl> 32#include <com/sun/star/util/DateTime.idl> 33#include <com/sun/star/security/XCertificateExtension.idl> 34 35module com { module sun { module star { module security { 36 37/** 38 * Interface of a PKI Certificate 39 * 40 * <p>This interface represents a x509 certificate.</p> 41 */ 42published interface XCertificate : com::sun::star::uno::XInterface 43{ 44 /** 45 * the version number attribute of the certificate. 46 */ 47 [attribute, readonly] short Version ; 48 49 /** 50 * the serial number attribute of the certificate. 51 */ 52 [attribute, readonly] sequence< byte > SerialNumber ; 53 54 /** 55 * the issuer name attribute of the certificate. 56 */ 57 [attribute, readonly] string IssuerName ; 58 59 /** 60 * the subject name attribute of the certificate. 61 */ 62 [attribute, readonly] string SubjectName ; 63 64 /** 65 * the validity NotBefore date attribute of the certificate. 66 */ 67 [attribute, readonly] com::sun::star::util::DateTime NotValidBefore ; 68 69 /** 70 * the validity NotAfter date attribute of the certificate. 71 */ 72 [attribute, readonly] com::sun::star::util::DateTime NotValidAfter ; 73 74 /** 75 * the issuer unique ID attribute of the certificate. 76 */ 77 [attribute, readonly] sequence< byte > IssuerUniqueID ; 78 79 /** 80 * the subject unique ID attribute of the certificate. 81 */ 82 [attribute, readonly] sequence< byte > SubjectUniqueID ; 83 84 /** 85 * all extensions of a certificate. 86 */ 87 [attribute, readonly] sequence< XCertificateExtension > Extensions ; 88 89 /** 90 * the DER encoded form of the certificate 91 */ 92 [attribute, readonly] sequence< byte > Encoded ; 93 94 /** 95 * the algorithm of the subject public key 96 */ 97 [attribute, readonly] string SubjectPublicKeyAlgorithm; 98 99 /** 100 * the value of the subject public key 101 */ 102 [attribute, readonly] sequence< byte > SubjectPublicKeyValue; 103 104 /** 105 * the signature algorithm 106 */ 107 [attribute, readonly] string SignatureAlgorithm; 108 109 /** 110 * the SHA1 thumbprint 111 */ 112 [attribute, readonly] sequence< byte > SHA1Thumbprint; 113 114 /** 115 * the MD5 thumbprint 116 */ 117 [attribute, readonly] sequence< byte > MD5Thumbprint; 118 119 /** 120 * Find a extension with a object identifier. 121 */ 122 XCertificateExtension findCertificateExtension( [in]sequence< byte > oid ) ; 123 124 /** 125 * get the certificate usage 126 */ 127 long getCertificateUsage(); 128} ; 129 130} ; } ; } ; } ; 131 132#endif 133 134