fix som things
This commit is contained in:
		
							
								
								
									
										2
									
								
								dist/smartacme.classes.acmeaccount.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/smartacme.classes.acmeaccount.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -18,5 +18,5 @@ export declare class AcmeAccount { | ||||
|      * agree to letsencrypr terms of service | ||||
|      */ | ||||
|     agreeTos(): q.Promise<{}>; | ||||
|     createAcmeCert(domainNameArg: string): void; | ||||
|     createAcmeCert(domainNameArg: string, countryArg?: string, countryShortArg?: string, city?: string, companyArg?: string, companyShortArg?: string): q.Promise<{}>; | ||||
| } | ||||
|   | ||||
							
								
								
									
										21
									
								
								dist/smartacme.classes.acmeaccount.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								dist/smartacme.classes.acmeaccount.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,6 @@ | ||||
| "use strict"; | ||||
| const q = require("q"); | ||||
| const smartacme_classes_acmecert_1 = require("./smartacme.classes.acmecert"); | ||||
| /** | ||||
|  * class AcmeAccount represents an AcmeAccount | ||||
|  */ | ||||
| @@ -47,8 +48,24 @@ class AcmeAccount { | ||||
|         }); | ||||
|         return done.promise; | ||||
|     } | ||||
|     createAcmeCert(domainNameArg) { | ||||
|     createAcmeCert(domainNameArg, countryArg = 'Germany', countryShortArg = 'DE', city = 'Bremen', companyArg = 'Some Company', companyShortArg = 'SC') { | ||||
|         let done = q.defer(); | ||||
|         let acmeCert = new smartacme_classes_acmecert_1.AcmeCert({ | ||||
|             bit: 2064, | ||||
|             key: null, | ||||
|             domain: domainNameArg, | ||||
|             country: countryArg, | ||||
|             country_short: countryShortArg, | ||||
|             locality: city, | ||||
|             organization: companyArg, | ||||
|             organization_short: companyShortArg, | ||||
|             password: null, | ||||
|             unstructured: null, | ||||
|             subject_alt_names: null | ||||
|         }, this); | ||||
|         done.resolve(acmeCert); | ||||
|         return done.promise; | ||||
|     } | ||||
| } | ||||
| exports.AcmeAccount = AcmeAccount; | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhY21lLmNsYXNzZXMuYWNtZWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGFjbWUuY2xhc3Nlcy5hY21lYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUJBQXNCO0FBUXRCOztHQUVHO0FBQ0g7SUFLSSxZQUFZLGtCQUE2QjtRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFBO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDSixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUNyQztZQUNJLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO1NBQzNDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsR0FBRztZQUNMLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO2dCQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixNQUFNLENBQUE7WUFDVixDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFBO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7WUFDcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNKLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNwQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFDLElBQUksR0FBRyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNsRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUc7WUFDakcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixNQUFNLENBQUE7WUFDVixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUVELGNBQWMsQ0FBQyxhQUFxQjtJQUVwQyxDQUFDO0NBQ0o7QUF4REQsa0NBd0RDIn0= | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhY21lLmNsYXNzZXMuYWNtZWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGFjbWUuY2xhc3Nlcy5hY21lYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUJBQXNCO0FBTXRCLDZFQUF1RDtBQUV2RDs7R0FFRztBQUNIO0lBS0ksWUFBWSxrQkFBNkI7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ0osSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDckM7WUFDSSxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztTQUMzQyxFQUNELENBQUMsR0FBRyxFQUFFLEdBQUc7WUFDTCxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtnQkFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsTUFBTSxDQUFBO1lBQ1YsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQTtZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFBO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDSixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckMsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxQyxJQUFJLEdBQUcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHO1lBQ2pHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsTUFBTSxDQUFBO1lBQ1YsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxjQUFjLENBQ1YsYUFBcUIsRUFDckIsVUFBVSxHQUFHLFNBQVMsRUFDdEIsZUFBZSxHQUFHLElBQUksRUFDdEIsSUFBSSxHQUFHLFFBQVEsRUFDZixVQUFVLEdBQUcsY0FBYyxFQUMzQixlQUFlLEdBQUcsSUFBSTtRQUd0QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxxQ0FBUSxDQUN2QjtZQUNJLEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxNQUFNLEVBQUUsYUFBYTtZQUNyQixPQUFPLEVBQUUsVUFBVTtZQUNuQixhQUFhLEVBQUUsZUFBZTtZQUM5QixRQUFRLEVBQUUsSUFBSTtZQUNkLFlBQVksRUFBRSxVQUFVO1lBQ3hCLGtCQUFrQixFQUFFLGVBQWU7WUFDbkMsUUFBUSxFQUFFLElBQUk7WUFDZCxZQUFZLEVBQUUsSUFBSTtZQUNsQixpQkFBaUIsRUFBRSxJQUFJO1NBQzFCLEVBQ0QsSUFBSSxDQUNQLENBQUE7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7Q0FDSjtBQWxGRCxrQ0FrRkMifQ== | ||||
							
								
								
									
										5
									
								
								dist/smartacme.classes.acmecert.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/smartacme.classes.acmecert.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -37,6 +37,7 @@ export interface IAcmeCsrConstructorOptions { | ||||
|  * class AcmeCert represents a cert for domain | ||||
|  */ | ||||
| export declare class AcmeCert { | ||||
|     domainName: string; | ||||
|     attributes: any; | ||||
|     fullchain: string; | ||||
|     parentAcmeAccount: AcmeAccount; | ||||
| @@ -45,13 +46,13 @@ export declare class AcmeCert { | ||||
|     validTo: Date; | ||||
|     keypair: IRsaKeypair; | ||||
|     keyPairFinal: IRsaKeypair; | ||||
|     constructor(optionsArg: IAcmeCsrConstructorOptions, parentSmartAcmeArg: any); | ||||
|     constructor(optionsArg: IAcmeCsrConstructorOptions, parentAcmeAccount: AcmeAccount); | ||||
|     /** | ||||
|      * requests a challenge for a domain | ||||
|      * @param domainNameArg - the domain name to request a challenge for | ||||
|      * @param challengeType - the challenge type to request | ||||
|      */ | ||||
|     requestChallenge(domainNameArg: string, challengeTypeArg?: TChallengeType): q.Promise<ISmartAcmeChallengeAccepted>; | ||||
|     requestChallenge(challengeTypeArg?: TChallengeType): q.Promise<ISmartAcmeChallengeAccepted>; | ||||
|     /** | ||||
|      * validates a challenge, only call after you have set the challenge at the expected location | ||||
|      */ | ||||
|   | ||||
							
								
								
									
										33
									
								
								dist/smartacme.classes.acmecert.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								dist/smartacme.classes.acmecert.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										14
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								test/test.js
									
									
									
									
									
								
							| @@ -6,6 +6,7 @@ const smartacme = require("../dist/index"); | ||||
| describe('smartacme', function () { | ||||
|     let testSmartAcme; | ||||
|     let testAcmeAccount; | ||||
|     let testAcmeCert; | ||||
|     let testChallenge; | ||||
|     it('should create a valid instance', function (done) { | ||||
|         this.timeout(10000); | ||||
| @@ -21,15 +22,22 @@ describe('smartacme', function () { | ||||
|     it('should register a new account', function (done) { | ||||
|         this.timeout(10000); | ||||
|         testSmartAcme.createAccount().then(x => { | ||||
|             testAcmeAccount = x; | ||||
|             done(); | ||||
|         }).catch(err => { | ||||
|             console.log(err); | ||||
|             done(err); | ||||
|         }); | ||||
|     }); | ||||
|     it.skip('should request a cert for a domain', function (done) { | ||||
|     it('should create a AcmeCert', function () { | ||||
|         testAcmeAccount.createAcmeCert('bleu.de').then(x => { | ||||
|             testAcmeCert = x; | ||||
|             should(testAcmeAccount).be.instanceOf(smartacme.AcmeCert); | ||||
|         }); | ||||
|     }); | ||||
|     it('should get a challenge for a AcmeCert', function (done) { | ||||
|         this.timeout(10000); | ||||
|         testAcmeAccount.requestChallenge('bleu.de').then((challengeAccepted) => { | ||||
|         testAcmeCert.requestChallenge().then((challengeAccepted) => { | ||||
|             console.log(challengeAccepted); | ||||
|             testChallenge = challengeAccepted; | ||||
|             done(); | ||||
| @@ -42,4 +50,4 @@ describe('smartacme', function () { | ||||
|         }); | ||||
|     }); | ||||
| }); | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUNyQixpQ0FBZ0M7QUFHaEMsNEJBQTRCO0FBQzVCLDJDQUEwQztBQUUxQyxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ2xCLElBQUksYUFBa0MsQ0FBQTtJQUN0QyxJQUFJLGVBQXNDLENBQUE7SUFDMUMsSUFBSSxhQUFvRCxDQUFBO0lBQ3hELEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLElBQUk7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQixhQUFhLEdBQUcsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDekMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUN0QixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDeEQsSUFBSSxFQUFFLENBQUE7UUFDVixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1FBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDdEQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsK0JBQStCLEVBQUUsVUFBVSxJQUFJO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLFVBQVUsSUFBSTtRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25CLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUI7WUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1lBQzlCLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQTtZQUNqQyxJQUFJLEVBQUUsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxFQUFFLFVBQVUsSUFBSTtRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25CLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxFQUFFLENBQUE7UUFDVixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ== | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUNyQixpQ0FBZ0M7QUFHaEMsNEJBQTRCO0FBQzVCLDJDQUEwQztBQUUxQyxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ2xCLElBQUksYUFBa0MsQ0FBQTtJQUN0QyxJQUFJLGVBQXNDLENBQUE7SUFDMUMsSUFBSSxZQUFnQyxDQUFBO0lBQ3BDLElBQUksYUFBb0QsQ0FBQTtJQUN4RCxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsVUFBVSxJQUFJO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsYUFBYSxHQUFHLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ3pDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDdEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3hELElBQUksRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUM5QixNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3RELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLCtCQUErQixFQUFFLFVBQVUsSUFBSTtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25CLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1lBQ25CLElBQUksRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMEJBQTBCLEVBQUU7UUFDM0IsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QyxZQUFZLEdBQUcsQ0FBQyxDQUFBO1lBQ2hCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM3RCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLFVBQVUsSUFBSTtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25CLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtZQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFDOUIsYUFBYSxHQUFHLGlCQUFpQixDQUFBO1lBQ2pDLElBQUksRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLEVBQUUsVUFBVSxJQUFJO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLEVBQUUsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQSJ9 | ||||
							
								
								
									
										13
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -8,6 +8,7 @@ import * as smartacme from '../dist/index' | ||||
| describe('smartacme', function () { | ||||
|     let testSmartAcme: smartacme.SmartAcme | ||||
|     let testAcmeAccount: smartacme.AcmeAccount | ||||
|     let testAcmeCert: smartacme.AcmeCert | ||||
|     let testChallenge: smartacme.ISmartAcmeChallengeAccepted | ||||
|     it('should create a valid instance', function (done) { | ||||
|         this.timeout(10000) | ||||
| @@ -25,6 +26,7 @@ describe('smartacme', function () { | ||||
|     it('should register a new account', function (done) { | ||||
|         this.timeout(10000) | ||||
|         testSmartAcme.createAccount().then(x => { | ||||
|             testAcmeAccount = x | ||||
|             done() | ||||
|         }).catch(err => { | ||||
|             console.log(err) | ||||
| @@ -32,9 +34,16 @@ describe('smartacme', function () { | ||||
|         }) | ||||
|     }) | ||||
|  | ||||
|     it.skip('should request a cert for a domain', function (done) { | ||||
|     it('should create a AcmeCert', function() { | ||||
|         testAcmeAccount.createAcmeCert('bleu.de').then(x => { | ||||
|             testAcmeCert = x | ||||
|             should(testAcmeAccount).be.instanceOf(smartacme.AcmeCert) | ||||
|         }) | ||||
|     }) | ||||
|  | ||||
|     it('should get a challenge for a AcmeCert', function (done) { | ||||
|         this.timeout(10000) | ||||
|         testAcmeAccount.requestChallenge('bleu.de').then((challengeAccepted) => { | ||||
|         testAcmeCert.requestChallenge().then((challengeAccepted) => { | ||||
|             console.log(challengeAccepted) | ||||
|             testChallenge = challengeAccepted | ||||
|             done() | ||||
|   | ||||
| @@ -62,7 +62,33 @@ export class AcmeAccount { | ||||
|         return done.promise | ||||
|     } | ||||
|  | ||||
|     createAcmeCert(domainNameArg: string) { | ||||
|          | ||||
|     createAcmeCert( | ||||
|         domainNameArg: string, | ||||
|         countryArg = 'Germany', | ||||
|         countryShortArg = 'DE', | ||||
|         city = 'Bremen', | ||||
|         companyArg = 'Some Company', | ||||
|         companyShortArg = 'SC' | ||||
|  | ||||
|     ) { | ||||
|         let done = q.defer() | ||||
|         let acmeCert = new AcmeCert( | ||||
|             { | ||||
|                 bit: 2064, | ||||
|                 key: null, // not needed right now | ||||
|                 domain: domainNameArg, | ||||
|                 country: countryArg, | ||||
|                 country_short: countryShortArg, | ||||
|                 locality: city, | ||||
|                 organization: companyArg, | ||||
|                 organization_short: companyShortArg, | ||||
|                 password: null, | ||||
|                 unstructured: null, | ||||
|                 subject_alt_names: null | ||||
|             }, | ||||
|             this | ||||
|         ) | ||||
|         done.resolve(acmeCert) | ||||
|         return done.promise | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -46,6 +46,7 @@ export interface IAcmeCsrConstructorOptions { | ||||
|  * class AcmeCert represents a cert for domain | ||||
|  */ | ||||
| export class AcmeCert { | ||||
|     domainName: string | ||||
|     attributes | ||||
|     fullchain: string | ||||
|     parentAcmeAccount: AcmeAccount | ||||
| @@ -54,8 +55,9 @@ export class AcmeCert { | ||||
|     validTo: Date | ||||
|     keypair: IRsaKeypair | ||||
|     keyPairFinal: IRsaKeypair | ||||
|     constructor(optionsArg: IAcmeCsrConstructorOptions, parentSmartAcmeArg) { | ||||
|         this.parentAcmeAccount = parentSmartAcmeArg | ||||
|     constructor(optionsArg: IAcmeCsrConstructorOptions, parentAcmeAccount: AcmeAccount) { | ||||
|         this.domainName = optionsArg.domain | ||||
|         this.parentAcmeAccount = parentAcmeAccount | ||||
|         this.keypair = helpers.createKeypair(optionsArg.bit) | ||||
|         let privateKeyForged = plugins.nodeForge.pki.privateKeyFromPem(this.keypair.privateKey) | ||||
|         let publicKeyForged = plugins.nodeForge.pki.publicKeyToPem( | ||||
| @@ -94,13 +96,13 @@ export class AcmeCert { | ||||
|      * @param domainNameArg - the domain name to request a challenge for | ||||
|      * @param challengeType - the challenge type to request | ||||
|      */ | ||||
|     requestChallenge(domainNameArg: string, challengeTypeArg: TChallengeType = 'dns-01') { | ||||
|     requestChallenge(challengeTypeArg: TChallengeType = 'dns-01') { | ||||
|         let done = q.defer<ISmartAcmeChallengeAccepted>() | ||||
|         this.parentAcmeAccount.parentSmartAcme.rawacmeClient.newAuthz( | ||||
|             { | ||||
|                 identifier: { | ||||
|                     type: 'dns', | ||||
|                     value: domainNameArg | ||||
|                     value: this.domainName | ||||
|                 } | ||||
|             }, | ||||
|             this.parentAcmeAccount.parentSmartAcme.keyPair, | ||||
| @@ -194,18 +196,6 @@ export class AcmeCert { | ||||
|          */ | ||||
|         let keyHash: string = plugins.rawacme.dnsKeyAuthzHash(authKey) // needed if dns challenge is chosen | ||||
|  | ||||
|         /** | ||||
|          * the return challenge | ||||
|          */ | ||||
|         let returnDNSChallenge: ISmartAcmeChallengeAccepted = { | ||||
|             uri: challenge.uri, | ||||
|             type: challenge.type, | ||||
|             token: challenge.token, | ||||
|             keyAuthorization: challenge.keyAuthorization, | ||||
|             keyHash: keyHash, | ||||
|             status: challenge.status | ||||
|         } | ||||
|  | ||||
|         this.parentAcmeAccount.parentSmartAcme.rawacmeClient.post( | ||||
|             challenge.uri, | ||||
|             { | ||||
| @@ -218,6 +208,17 @@ export class AcmeCert { | ||||
|                     console.log(err) | ||||
|                     done.reject(err) | ||||
|                 } | ||||
|                 /** | ||||
|                  * the return challenge | ||||
|                  */ | ||||
|                 let returnDNSChallenge: ISmartAcmeChallengeAccepted = { | ||||
|                     uri: res.body.uri, | ||||
|                     type: res.body.type, | ||||
|                     token: res.body.token, | ||||
|                     keyAuthorization: res.body.keyAuthorization, | ||||
|                     keyHash: keyHash, | ||||
|                     status: res.body.status | ||||
|                 } | ||||
|                 done.resolve(returnDNSChallenge) | ||||
|             } | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user